Multithreading Issues

When a program is running under the debugger, by default the run all threads (RA) mode is turned on. In this mode, you step through only one thread at a time, but the background threads run normally. If a background thread reaches a breakpoint, it returns control to the debugger and becomes the current thread. The last debugging mode you select is saved into your .ADB file, so the default mode applies only when you do not have a .ADB file.

You can choose to execute one thread at a time in the debugger. This allows you to trace a thread without interference from other threads. When a new thread starts, the debugger informs you, but continues tracing the parent thread. Use the ST (Switch Threads) command to switch between threads.

You can find a list of the current threads under the Run menu item. This list shows you the current program and address where each thread is executing. You can select the appropriate menu item to switch to that thread as an alternative to the ST command.

A list of all current threads appears at the bottom of the Run menu. The list shows both the name of the program associated with the thread and the address where each thread is executing. To switch between threads, you can select a thread from the list as an alternative to the ST command.

The debugger can manage up to ten threads simultaneously.