Debug Session Configuration
|New DS-5 Debugger connections are easily configured through a simple dialog (shown below) where users can select their device/development board from a database of pre-configured platforms or create their own entry, define type of debug session (bare-metal, Linux application, or Linux kernel and drivers), load symbol files, set target environment variables, and much more. Once saved, the session configuration can be re-invoked at any time in one click.|
|Managing debug connections, visualizing context and controlling program execution is very easy with the Debug Control view. Debug connections listed there can be launched with just one click regardless of connection type (e.g. JTAG, gdbserver). On the top bar, the run control commands allow developers to execute the program with great flexibility. When the execution is paused, deliberately or by a breakpoint, process, thread, and call stack information are immediately displayed. Finally, the Debug Control view allows multiple simultaneous connections, to one or more targets, and automatically refreshes all other debugger views when the user focuses on a different connection or core in multicore platforms.|
|For developers interested in low level debug or optimization, DS-5 Debugger features a disassembly view that can automatically or manually decode ARM or Thumb instructions. Fully synchronized with source code, the Disassembly view highlights all instructions matching the selected source code line and can also be used to step through machine instructions. From the Debug Control view, program execution can be controlled using run, pause and step in/over/out icons.|
Command Line Interface & Scripting
|Already familiar with GDB's command line interface? DS-5 Debugger implements a GDB-style command line interface, extending the functionality of GNU's tool and encompassing both JTAG/SWD and GDB connections. It also offers developers a Jython script interface for yet more scripting flexibility.|
DS-5 debugger command prompt can be accessed inside DS-5 IDE or externally, via console, with the former featuring auto-completion and tool-tip help for convenience. All debugger actions, CLI- or GUI-driven, are displayed in the Commands view and logged in the History view, allowing users to convert any sequence of GUI actions into a script by simply selecting the text, dragging and dropping it on the Scripts view. Saved scripts can then be invoked at any time by the user or automatically executed in the initialization or when a breakpoint is hit.
|Breakpoints and watchpoints have always been an important part of software debug, but DS-5 Debugger has made them more powerful and easy to use. Software and hardware breakpoints can be easily set from the source code and are listed in the Breakpoints view, along with watchpoints. This view is used to disable, enable, remove or configure breakpoints and watchpoints properties to make sure the execution stops in the correct context. The Breakpoint Properties dialog allows developers to set stop expressions, ignore count, run saved scripts and automatically continue executing, or even stop on a specific core or thread. Similarly, data watchpoints in DS-5 Debugger are very flexible and can be triggered when a memory location is accessed in a particular way, when an expression evaluates true, or when the ignore count is reached. Data watchpoints are set either from the Variables view or Memory view.|