Toolsuite
Comprehensive Ada Toolsuite
Visual Debugger
One of the components of GNAT Pro’s GPS integrated environment is an extensible debugging harness, offering powerful data display/visualization/tracking capabilities, an intuitive menu-driven interface, and a pluggable look-and-feel. It supports multiple debugger back-ends (both native and cross), handles multiple languages including Ada, C and C++, and allows debugging of multi-threaded and/or multi-processed applications. It is non-intrusive: compiling with debugging enabled has no effect on the generated object code.
Major Features
- Ability to debug at source and machine levels
- Multi-language support: Ada, C and C++
- Support for all Ada constructs, including tasks, generics, tagged types and interfaces
- Ability to attach debugger dynamically to a running process
- Ability to display call stack with subprogram parameters, line, and language information
- Integration with source editor (syntax highlighting, browsing)
- Handling of user input via GUI, command window, and command-line interface
- Powerful scripting facility
- Remote interface for debugging an embedded target
- Common interface on all platforms
- Comprehensive help facility
Graphical Interface
- Intuitive display
- Graphical depiction of linked data structures
- Highlighted source code
- Context sensitive menus
- Easy browsing of files and symbols
- Easy examination of variable value via “tooltip” style
- Special colors to identify pointer links, changed values
- Interactive navigation of call stack
Available Displays and Data
- Source, assembler, and machine code integrated for ease of reference
- Call stack with subprogram, line, and language
- Task information
- Evaluation of general expressions at breakpoints
- Convenient retrieval of previously evaluated expression
Support for Ada Tasking
- List task information such as status, priority, and parent
- Switch between tasks
- Set task-specific breakpoints
Breakpoint and Watchpoint Support
- Set breakpoint at any line, including within generic instantiations
- Set watchpoint to stop program when value of specified expression changes
- Set conditional breakpoint to stop execution only when specified condition is true
- Run user-specified script of commands at breakpoint
- Single step over source line, over or into subprogram call, or over an assembly language instruction
- Change value of any variable, evaluate any expression, or invoke any subprogram while the program is stopped at a breakpoint
- Resume execution at a different point than where stopped
- Halt execution when any exception, or a specific exception, or an unhandled exception is raised
Assembly Language Debugging Support
- Display/modify registers and memory locations
- Display assembly and machine code, interleaved with Ada source
- Single step and breakpoint on specified assembly instructions