About the Debug Navigator

The debug navigator displays the call stacks of your paused app. With this navigator you can debug C-based code and OpenGL frames.

Selecting an item in the debug navigator causes information about the item to be displayed in the editor area and in the debug area.

 

Debugging C-based Code

When debugging C-based code, the navigator groups the stack frames by threads or queues, and lists the memory locations you’re interested in. Use the debug navigator to navigate the stack frames of your app’s threads, and to manage viewed memory locations for the current debugging session.

The debug navigator opens automatically whenever you pause your application (by choosing Product > Debug > Pause), or it hits a breakpoint. (You can change that behavior in Alerts preferences.)

image: ../art/debug_navigator-c_debugging.pngimage: ../art/debug_navigator-c_debugging.png

Threads indicate their running state with a status icon:

The debug navigator contains a scope bar, the thread and memory location list, and a filter bar.

With the scope bar you indicate how the navigator displays threads:

With the filter bar you specify the threads and stack frames you want to see.

To remove a memory location from the list, select it and press Delete.

If you are debugging multiple processes from the same workspace, each process is listed separately in the debug navigator with its threads grouped underneath it. Multiple process debugging is a useful way to debug the interactions between client and server processes.

 

Debugging OpenGL Frames

When debugging an OpenGL frame, the debug navigator shows the OpenGL call trace that generated the captured frame. The call trace includes the stack frame for each OpenGL call.

image: ../art/debug_navigator-opengl_debugging.pngimage: ../art/debug_navigator-opengl_debugging.png

The debug navigator contains the OpenGL call trace and a filter bar.

With the filter bar (the bottom box on the left in the screenshot) you specify the OpenGL calls and stack frames you want to see.