Debugging
Atollic TrueSTUDIO® provides a professional debugger, capable of debugging single- and multi-processor systems, as well as debugging both embedded ARM code as well as Windows PC command-line applications. The debugger also includes a powerful script language for automation of advanced debug tasks.
Atollic TrueSTUDIO® includes an Atollic-proprietary debug configuration & debug launching mechanism, providing a true "one-click-debug" solution.
The most common debug configuration is to connect the Atollic TrueSTUDIO® debugger to a target board using a JTAG hardware probe. On some targets, a CPU simulator can be used to execute the ARM application binary on a Windows PC.
If the target-independent part of embedded applications is recompiled as a native PC application (a Windows command line .EXE file), the Atollic TrueSTUDIO® PC debugger is very convenient to use for test- and debugging purposes.
The Atollic TrueSTUDIO® debugger also supports multiprocessor debugging of any number of processors, in any combination, of the following types:
- Windows PC (command line) applications (Pentium)
- Single-processor embedded boards (ARM)
- Multi-processor embedded boards with any number of processors (ARM)
The debugger supports simultaneous debugging of any combination of the above debugger types from the same GUI, at the same time. So it is for example perfectly possible to debug three Windows PC command line applications, two embedded single-processor boards, and one multi-processor board at the same time. This enables the possibility to inspect their interactions with each other, from the same debugger GUI.
The debugger’s Source code window supports features like line numbering, folding (expand and collapse of code blocks), colour coded syntax, display of variable values as tooltips, etc.
The debugger supports execution control features like:
- Step-in
- Step-over
- Step-out-of-function
- Run
- Run-to-cursor
- Code and data breakpoints
- Conditional and counting breakpoints
- Configurable breakpoint actions
- Breakpoints start script programs
The debugger includes the following docking views:
- Debug view
- Console view
- Breakpoints view
- Disassembly view
- Memory view
- Registers view
- SFR view (some targets only)
- Variables view
- Expressions view
- Modules view
- Executables view
The Debug view display the call stack, and the Variables view supports "drilling down" into complex data types like pointers, arrays, or structures. In the expressions view, mathematical calculations can be made using variable values.
The SFR (peripheral) register view supports "drilling down" into peripheral modules, SFR registers, bitfields etc. A graphical view of the bit layout is provided, and registers, individual bitfields and single bits can easily be reconfigured as well.

The debugger also supports entering gdb commands manually (many hundred commands are available) in the Console view, thus providing the full power of the gdb command set also from within the Atollic TrueSTUDIO® debugger GUI.
The debugger also includes a script language that can be used to automate advanced debugging tasks. The script language supports advanced features like loops and conditional statements.
It is even possible to define breakpoint event handlers, which are script programs that are executed automatically on a breakpoint hit. Breakpoint event handlers can be used for many things, such as:
- Resetting a variable value to a correct value on the line after a buggy calculation is made. Debugging can thus proceed with correct variable values without the need to correct the bug, rebuild the application and restart the debug session
- Stop on a breakpoint in a function only if the caller function is for example FuncX() or
FuncY(), but not if the caller is any other function. - Enabling or disabling other breakpoints dependent on various circumstances at the place of the first breakpoint
- etc
The following debugging concepts are available:
A list of supported JTAG probes is available here.
Some or all the features described on this page may not be available in all product versions. Please read the feature comparison for detailed information on what features are available in different product versions.
