What is Debugging and Its Process & Strategies and tools
Debugging
Software Engineering के संदर्भ में, Debugging, Software में Bug को ठीक करने की प्रक्रिया है। दूसरे शब्दों में, यह Errors की, identifying, analyzing और उन्हें Remove करने के लिए Refer करता है। यह Activity तब Start होती है जब Software ठीक से Execute नहीं होता है और Problems को Solve करके और Software का Successfully Test करके End होता है। इसे एक Extremely Complex और Tedious Task माना जाता है क्योंकि Debugging के सभी Steps में Errors को Solve करने की आवश्यकता होती है।
Debugging Process
Steps Involved in Debugging are-
- Problems की पहचान करना और Report Ready करना।
- यह Identify करने के लिए कि यह Genuine है, Report को Defect के लिए Software Engineer को सौंपना।
- Modeling, Documentations, Finding and Testing Candidate Flaws, etc. और उनका परीक्षण करना।
- System में आवश्यक Changes न करके Defect Resolution.
- Validation of Corrections.
Debugging Strategies
1. System को समझने के लिए Larger Duration तक System का अध्ययन करें। यह Debugger को Debugging के लिए System के Different Representations बनाने में मदद करता है जो आवश्यकता पर निर्भर करता है। Software में हाल ही में किए गए को Changes खोजने के लिए System का अध्ययन भी Actively किया जाता है।
2. Problem का Backwards Analysis करना जिसमें Faulty Code के Area की पहचान करने के लिए Failure Message के स्थान से Program को पीछे की ओर Trash करना शामिल है।
3. Program के Forward Analysis में Program में विभिन्न बिंदुओं पर Break point या Print Statement का उपयोग करके Program को Forward Trash करना और Results का अध्ययन करना शामिल है। वह Region जहां Wrong Output प्राप्त होते हैं, वह Region है जहां Errors Find out के लिए ध्यान केंद्रित करने की आवश्यकता होती है
4. Software के Past Experience का उपयोग करके Software को प्रकृति में Same Problems के साथ Debug करें। इस Analysis की सफलता Debugger की Expertise पर निर्भर करती है।
Debugging Tools :
Debugging Tool एक Computer Program है जिसका उपयोग Other Programs का Testingऔर Debug करने के लिए किया जाता है। बहुत सारे Public Domain Software जैसे gdb और dbx Debugging के लिए उपलब्ध हैं। वे Console Based Command Line Interface प्रदान करते हैं। Automated Debugging Tools Bugging Tools के उदाहरणों में Code आधारित Tracers, Profilers, Interpreters आदि शामिल हैं।
व्यापक रूप से उपयोग किए जाने वाले कुछ Debuggers :
1. Radare2
2. WinDbg
3. Valgrind