C++/Debugger Design and Source Programming Language in IDE.
Expert: vijayan - 10/18/2011
QuestionDear Vijayan
http://en.wikipedia.org/wiki/Debugger
Most of the Integrated Development Environment has a Debugger/Troubleshooting Tool which helps the Developer/s for Troubleshooting/Debugging Logical Errors in a application.
1. Similar to Compiler, De Compiler System Software Design, what are the Algorithms for Designing a Debugger Software ?
2. what are the programming languages to build a Debugger software ? i.e. C, C++, C#, Java, Assembly Language etc
3. Is it necessary or mandatory to use the same Programming Language Source code for building a Debugger similar to specific compilers/interpreters for each programming language ?
i.e. For examples :
C++ Language in Microsoft Visual Studio 6.0 IDE for troubleshooting C++ application code. ?
VB Language in Microsoft Visual Studio 6.0 IDE for troubleshooting VB application code. ?
C# Language in Visual Studio .Net/2003/2005/2008/2010 IDE
for troubleshooting C# application code. ?
VB.Net Language in Visual Studio .Net/2003/2005/2008/2010 IDE
for troubleshooting VB.Net application code. ?
C++ Language in Borland C++ for MS Dos and MS Windows IDE for
troubleshooting C and C++ application code. ?
Thanks & Regards,
Prashant S Akerkar
Answer> 1. Similar to Compiler, De Compiler System Software Design, what are the Algorithms for Designing a Debugger Software ?
This could be the subject of several books. This book gives a reasonable introduction to the topic:
'How Debuggers Work: Algorithms, Data Structures, and Architecture' by Jonathan B. Rosenberg.
http://www.amazon.com/How-Debuggers-Work-Algorithms-Architecture/dp/0471149667
> 2. what are the programming languages to build a Debugger software ? i.e. C, C++, C#, Java, Assembly Language etc
Most good debuggers are written in a language that gives low level access to the hardware and os.
> 3. Is it necessary or mandatory to use the same Programming Language Source code for building a Debugger similar to specific compilers/interpreters for each programming language ?
No, it is not. It is usual for a debugger to target multiple programming languages.