Focusing on Relevant Threads and Stack Frames

Filter threads and symbols to remove extraneous information and focus on your own code during a debugging session.

To focus on relevant threads and stack frames
  1. Pause your application’s execution or wait for your code to stop at a breakpoint.

  2. Use the thread filter button to hide threads that are not relevant to debugging.

  3. Use the call stack slider to adjust the amount of detail shown for each thread.

The debug navigator sports two controls for filtering extraneous threads and program symbols: the thread filter and the call stack slider.

The thread filter button shows or hides threads that may not be relevant to debugging your code right now. Examples of such threads include the heartbeat and dispatch management threads and any threads that are idle and not currently executing any specific application code. Hiding these threads allows you to focus on the threads that are doing actual work for your application.

For each thread, the call stack slider dynamically collapses or expands the list of symbols displayed by that thread. Collapsing the list helps you focus your debugging efforts by hiding calls that are far removed from your code. (The presence of hidden symbols is indicated by a dotted line in the stack frame.) Expanding the list lets you see the precise set of calls that occurred to reach the current stopping point.

The screenshots show the debug navigator in two states. The screenshot on the left shows the debug navigator with the thread filter turned off and the call stack slider set to show all stack frames. The screenshot on the right shows it with the thread filter turned on and the call stack slider set to show only the most relevant stack frames.