SlideShare a Scribd company logo
1 of 15
A. DEFORAH ENIT
&
R. GAYATHRI
DEFINITION :
A debugger is a software
program used to test and find bugs
(errors) in other programs . A debugger
is also known as a debugging tool.
In order to limit the impact of ISS, some
debuggers offer two modes of operation :
 Full simulation
 Partial simulation
There are two types of debuggers :
 CorDBG (command-line debugger) – in this ,
compilation of the original c# file using the
debug switch is a must.
 DbgCLR (graphic debugger) – used by Visual
Studio .NET
Some widely used debuggers are:
 Firefox JavaScript debugger
 GDB - the GNU debugger
 LLDB
 Microsoft Visual Studio Debugger
 Valgrind
 WinDbg
 Eclipse debugger API used in a range of IDEs :
1. Eclipse IDE (Java)
2. Nodeclipse (JavaScript)
 WDW, the OpenWatcom debugger
 source-level debugger or symbolic
debugger: When the program "traps" or reaches a preset
condition, the debugger typically shows the location in
the original code ; seen in integrated development
environments.
 low-level debugger or a machine-language
debugger : When the program "traps" or reaches a preset
condition, it shows the line in the disassembly (unless it also has
online access to the original source code and can display the
appropriate section of code from the assembly or
compilation).
 When a program crashes, debuggers show the
position of the error in the target program.
 Most debuggers also are capable of running
programs in a step-by-step mode, besides
stopping on specific points.
 They also can often modify the state of
programs while they are running.
 Breakpoints - Setting breakpoints at various positions in the program. The
breakpoints are points in the program at which the programmer wishes
to suspend normal execution of the program and perform other tasks.
 Examining values of different memory locations - When the execution of a
program is suspended, the contents of specified memory locations can be
examined. This includes local variables (usually on the stack), function
parameters, and global (extern) variables.
 Examining the contents of the program stack - The contents of the program
stack reveals information related to the function call sequence that is
active at that moment.
 Depositing values in different memory locations - While the execution of
the debugged program is not underway (yet to start or suspended at a
breakpoint), the programmer can deposit any value in the memory
locations corresponding to the program variables, parameters to
subroutines, and processor registers.
 Testing assertions - The programmer may specify relations involving
program values, that must hold at certain positions in the program
during execution.
 Detecting conditions - Suspend execution of the program whenever any
user defined condition involving the program variables and/or
parameters is met.
 Also known as "historical debugging" or "backwards
debugging".
 These debuggers make it possible to step a program's execution
backwards in time.
 Microsoft Visual Studio offers IntelliTrace reverse debugging for
C#, Visual Basic .NET, and some other languages, but not C++.
 Reverse debuggers also exist for C, C++, Java, Python, Perl, and
other languages.
 Some are open source; some are proprietary commercial software.
 Some reverse debuggers slow down the target by orders of
magnitude, but the best reverse debuggers cause a slowdown of
2× or less.
There are four basic steps in debugging:
 Discovering the Bug : Is there one? It is not
always obvious that you have a bug. (Why?)
 Isolating the Bug : Where is it? Locate the
part(s) of the code that is causing the bug.
 Finding the Bug : What exactly is wrong with
the buggy code fragment?
 Fixing the Bug : How should the buggy
fragment be rewritten?
A “trap" occurs when the program cannot
normally continue because of a programming
bug or invalid data.
For example:
The program might have tried to use an
instruction not available on the current version
of the CPU or attempted to access unavailable
or protected memory.
 Some debuggers operate on a single specific
language while others can handle multiple
languages transparently.
 For example :
If the main target program is written in COBOL but
calls assembly language subroutines
and PL/1 subroutines, the debugger may have to
dynamically switch modes to accommodate the
changes in language as they occur.
 Some debuggers also incorporate memory
protection to avoid storage violations such
as buffer overflow.
 This may be extremely important
in transaction processing environments where
memory is dynamically allocated from
memory 'pools' on a task by task basis.
 The code to be examined might
alternatively be running on an instruction set
simulator (ISS), a technique that allows great
power in its ability to halt when specific
conditions are encountered.
 Note that use of simulators decreases
execution speed.
Debuggers in system software

More Related Content

What's hot

compiler ppt on symbol table
 compiler ppt on symbol table compiler ppt on symbol table
compiler ppt on symbol tablenadarmispapaulraj
 
Fundamentals of Language Processing
Fundamentals of Language ProcessingFundamentals of Language Processing
Fundamentals of Language ProcessingHemant Sharma
 
Error handling and debugging in vb
Error handling and debugging in vbError handling and debugging in vb
Error handling and debugging in vbSalim M
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1Manoj Patil
 
Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)swapnac12
 
Compiler Design
Compiler DesignCompiler Design
Compiler DesignMir Majid
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategiesSHREEHARI WADAWADAGI
 
Interpreters & Debuggers
Interpreters  &  DebuggersInterpreters  &  Debuggers
Interpreters & DebuggersMalek Sumaiya
 
Assembler design options
Assembler design optionsAssembler design options
Assembler design optionsMohd Arif
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design BasicsAkhil Kaushik
 
State Machine Diagram
State Machine DiagramState Machine Diagram
State Machine DiagramNiloy Rocker
 
Operating system deign and implementation
Operating system deign and implementationOperating system deign and implementation
Operating system deign and implementationsangrampatil81
 
Major and Minor Elements of Object Model
Major and Minor Elements of Object ModelMajor and Minor Elements of Object Model
Major and Minor Elements of Object Modelsohailsaif
 

What's hot (20)

loaders and linkers
 loaders and linkers loaders and linkers
loaders and linkers
 
compiler ppt on symbol table
 compiler ppt on symbol table compiler ppt on symbol table
compiler ppt on symbol table
 
Fundamentals of Language Processing
Fundamentals of Language ProcessingFundamentals of Language Processing
Fundamentals of Language Processing
 
Error handling and debugging in vb
Error handling and debugging in vbError handling and debugging in vb
Error handling and debugging in vb
 
Language processors
Language processorsLanguage processors
Language processors
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1
 
Linker and Loader
Linker and Loader Linker and Loader
Linker and Loader
 
Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)
 
Compiler Design
Compiler DesignCompiler Design
Compiler Design
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Interpreters & Debuggers
Interpreters  &  DebuggersInterpreters  &  Debuggers
Interpreters & Debuggers
 
Assembler design options
Assembler design optionsAssembler design options
Assembler design options
 
First pass of assembler
First pass of assemblerFirst pass of assembler
First pass of assembler
 
Assemblers
AssemblersAssemblers
Assemblers
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
 
Code Generation
Code GenerationCode Generation
Code Generation
 
State Machine Diagram
State Machine DiagramState Machine Diagram
State Machine Diagram
 
Operating system deign and implementation
Operating system deign and implementationOperating system deign and implementation
Operating system deign and implementation
 
Major and Minor Elements of Object Model
Major and Minor Elements of Object ModelMajor and Minor Elements of Object Model
Major and Minor Elements of Object Model
 
Unit 4 sp macro
Unit 4 sp macroUnit 4 sp macro
Unit 4 sp macro
 

Similar to Debuggers in system software

How to debugging
How to debuggingHow to debugging
How to debuggingSiya Lee
 
UNIT 3.1 INTRODUCTON TO IDA.ppt
UNIT 3.1 INTRODUCTON TO IDA.pptUNIT 3.1 INTRODUCTON TO IDA.ppt
UNIT 3.1 INTRODUCTON TO IDA.pptManjuAppukuttan2
 
CSO Laboratory Manual
CSO Laboratory ManualCSO Laboratory Manual
CSO Laboratory ManualDwight Sabio
 
Reverse engineering – debugging fundamentals
Reverse engineering – debugging fundamentalsReverse engineering – debugging fundamentals
Reverse engineering – debugging fundamentalsEran Goldstein
 
WhitePaperTemplate
WhitePaperTemplateWhitePaperTemplate
WhitePaperTemplateJo Marques
 
Stnotes doc 5
Stnotes doc 5Stnotes doc 5
Stnotes doc 5Alok Jain
 
Introduction to system programming
Introduction to system programmingIntroduction to system programming
Introduction to system programmingsonalikharade3
 
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdfDEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdfSrikrishna Thota
 
Qualidade de Software em zOS usando IBM Debug Tool e RDz
Qualidade de Software em zOS usando IBM Debug Tool e RDzQualidade de Software em zOS usando IBM Debug Tool e RDz
Qualidade de Software em zOS usando IBM Debug Tool e RDzPaulo Batuta
 
Debugging with NetBeans IDE
Debugging with NetBeans IDEDebugging with NetBeans IDE
Debugging with NetBeans IDEAndreas Ruppen
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 

Similar to Debuggers in system software (20)

How to debugging
How to debuggingHow to debugging
How to debugging
 
Ss debuggers
Ss debuggersSs debuggers
Ss debuggers
 
UNIT 3.1 INTRODUCTON TO IDA.ppt
UNIT 3.1 INTRODUCTON TO IDA.pptUNIT 3.1 INTRODUCTON TO IDA.ppt
UNIT 3.1 INTRODUCTON TO IDA.ppt
 
Debug tool
Debug toolDebug tool
Debug tool
 
CSO Laboratory Manual
CSO Laboratory ManualCSO Laboratory Manual
CSO Laboratory Manual
 
Reverse engineering – debugging fundamentals
Reverse engineering – debugging fundamentalsReverse engineering – debugging fundamentals
Reverse engineering – debugging fundamentals
 
PROBLEM SOLVING
PROBLEM SOLVINGPROBLEM SOLVING
PROBLEM SOLVING
 
WhitePaperTemplate
WhitePaperTemplateWhitePaperTemplate
WhitePaperTemplate
 
Training 8051Report
Training 8051ReportTraining 8051Report
Training 8051Report
 
Stnotes doc 5
Stnotes doc 5Stnotes doc 5
Stnotes doc 5
 
Introduction to system programming
Introduction to system programmingIntroduction to system programming
Introduction to system programming
 
Computer Programming
Computer Programming Computer Programming
Computer Programming
 
Computer
ComputerComputer
Computer
 
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdfDEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
 
Qualidade de Software em zOS usando IBM Debug Tool e RDz
Qualidade de Software em zOS usando IBM Debug Tool e RDzQualidade de Software em zOS usando IBM Debug Tool e RDz
Qualidade de Software em zOS usando IBM Debug Tool e RDz
 
Debugging with NetBeans IDE
Debugging with NetBeans IDEDebugging with NetBeans IDE
Debugging with NetBeans IDE
 
Ic lecture8
Ic lecture8 Ic lecture8
Ic lecture8
 
Lect-01.ppt
Lect-01.pptLect-01.ppt
Lect-01.ppt
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 

Recently uploaded

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 

Recently uploaded (20)

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 

Debuggers in system software

  • 2. DEFINITION : A debugger is a software program used to test and find bugs (errors) in other programs . A debugger is also known as a debugging tool.
  • 3. In order to limit the impact of ISS, some debuggers offer two modes of operation :  Full simulation  Partial simulation
  • 4. There are two types of debuggers :  CorDBG (command-line debugger) – in this , compilation of the original c# file using the debug switch is a must.  DbgCLR (graphic debugger) – used by Visual Studio .NET
  • 5. Some widely used debuggers are:  Firefox JavaScript debugger  GDB - the GNU debugger  LLDB  Microsoft Visual Studio Debugger  Valgrind  WinDbg  Eclipse debugger API used in a range of IDEs : 1. Eclipse IDE (Java) 2. Nodeclipse (JavaScript)  WDW, the OpenWatcom debugger
  • 6.  source-level debugger or symbolic debugger: When the program "traps" or reaches a preset condition, the debugger typically shows the location in the original code ; seen in integrated development environments.  low-level debugger or a machine-language debugger : When the program "traps" or reaches a preset condition, it shows the line in the disassembly (unless it also has online access to the original source code and can display the appropriate section of code from the assembly or compilation).
  • 7.  When a program crashes, debuggers show the position of the error in the target program.  Most debuggers also are capable of running programs in a step-by-step mode, besides stopping on specific points.  They also can often modify the state of programs while they are running.
  • 8.  Breakpoints - Setting breakpoints at various positions in the program. The breakpoints are points in the program at which the programmer wishes to suspend normal execution of the program and perform other tasks.  Examining values of different memory locations - When the execution of a program is suspended, the contents of specified memory locations can be examined. This includes local variables (usually on the stack), function parameters, and global (extern) variables.  Examining the contents of the program stack - The contents of the program stack reveals information related to the function call sequence that is active at that moment.  Depositing values in different memory locations - While the execution of the debugged program is not underway (yet to start or suspended at a breakpoint), the programmer can deposit any value in the memory locations corresponding to the program variables, parameters to subroutines, and processor registers.  Testing assertions - The programmer may specify relations involving program values, that must hold at certain positions in the program during execution.  Detecting conditions - Suspend execution of the program whenever any user defined condition involving the program variables and/or parameters is met.
  • 9.  Also known as "historical debugging" or "backwards debugging".  These debuggers make it possible to step a program's execution backwards in time.  Microsoft Visual Studio offers IntelliTrace reverse debugging for C#, Visual Basic .NET, and some other languages, but not C++.  Reverse debuggers also exist for C, C++, Java, Python, Perl, and other languages.  Some are open source; some are proprietary commercial software.  Some reverse debuggers slow down the target by orders of magnitude, but the best reverse debuggers cause a slowdown of 2× or less.
  • 10. There are four basic steps in debugging:  Discovering the Bug : Is there one? It is not always obvious that you have a bug. (Why?)  Isolating the Bug : Where is it? Locate the part(s) of the code that is causing the bug.  Finding the Bug : What exactly is wrong with the buggy code fragment?  Fixing the Bug : How should the buggy fragment be rewritten?
  • 11. A “trap" occurs when the program cannot normally continue because of a programming bug or invalid data. For example: The program might have tried to use an instruction not available on the current version of the CPU or attempted to access unavailable or protected memory.
  • 12.  Some debuggers operate on a single specific language while others can handle multiple languages transparently.  For example : If the main target program is written in COBOL but calls assembly language subroutines and PL/1 subroutines, the debugger may have to dynamically switch modes to accommodate the changes in language as they occur.
  • 13.  Some debuggers also incorporate memory protection to avoid storage violations such as buffer overflow.  This may be extremely important in transaction processing environments where memory is dynamically allocated from memory 'pools' on a task by task basis.
  • 14.  The code to be examined might alternatively be running on an instruction set simulator (ISS), a technique that allows great power in its ability to halt when specific conditions are encountered.  Note that use of simulators decreases execution speed.