Test and Debug
The debugging tool uses the GNU Debugger (GDB) as the underlying debugging tool.
The Debug view
In the Debug perspective, the Debug view shows the launch, debugging tool, and thread instance, as well as the stack frames and controls for each device that you debug on. It displays the debugging information in a tree hierarchy. It shows stack frames as child elements, and includes the reason for a suspension beside the thread. For example, a thread is suspended when it reaches the end of the stepping range, a breakpoint, or a received signal. When an app exits, the Momentics IDE also shows the exit code.
The thread label includes the thread's state. For example, the label might indicate that the thread is suspended because the app hit a breakpoint. You can't suspend only one thread in a process; suspension affects all threads. The number beside the thread label is a reference counter for the Momentics IDE, not a thread ID (TID) number.
Editing your source after compiling causes the line numbering to be out of step because the debug information is tied directly to the source. Debugging an optimized binary can also cause unexpected jumps in the execution trace, especially when the debug symbols for that library aren't available and loaded.
Debug your app
When you debug using the toolbar, you select a launch configuration and a device to debug your app with. The Momentics IDE builds the app with the corresponding build configuration (either Device-Debug or Simulator-Debug), and then launches the app with the selected configuration. You don't need to build the app, configure the build configuration, or configure the launch configuration, because the Momentics IDE does it for you.
The debugging controls appear in the Debug view toolbar, the right-click context menu, and the Run menu.
- On the toolbar, select the Launch configuration for your app.
- In the Launch mode drop-down list, select Debug.
- In the Launch target
drop-down list, select a device or simulator.
To resolve any device connection issues, click Edit, and follow the instructions on the Device Properties dialog box.
- Click .
The Momentics IDE changes to the Debug perspective, installs the app on your simulator or device, and starts the app under the control of the debugging tool. The debugging tool stops in the first line of your code and waits for your input.
- In the Debug view, select the thread that you want to control.
- To control the debugging tool, use the buttons in the Debug view toolbar.
- When you are finished debugging, on the Debug view toolbar, click
You must terminate the debug session before you rebuild the project, or the build fails.
Control your debug session from the C/C++ editor
To control your debug session using the C/C++ editor, you allow the app to run until it hits the line that your cursor is on. If the app never hits that line, the app runs until it finishes or hits another breakpoint. You can use the context menu in the C/C++ editor to resume execution at a specific line or to add a watch expression.
The debugging tool controls the debugging session in the C/C++ editor.
- In the editor, select a file that is associated with the process that you are debugging.
- Click where you want to insert the cursor and interrupt the execution.
- Right-click near the cursor and select Run To Line, Resume at line,
or Add watch expression.
Run To Line works only in the current stack frame, which means that you can use it only within the function that is running.
Last modified: 2014-06-24