HP-UX Programming Tools Release Notes
Chapter 1 7
New and Changed Features
HP Distributed Debugging Environment (HP DDE) 4.23
Knowing how debugger commands operate is particularly important for
kernel threads applications.
• Execution Commands
The go command operates on all enabled threads. In a kernel threads
application, this means that the go, go -return, and go -until
commands cause all enabled threads to run.
The step, goto, and call commands operate only on the selected
thread. All other threads remain stopped.
Any execution command (such as step) that you issue when the
current thread is different from the selected thread will restore the
environment to that of the selected thread. (The debugger behaves
the same way when the Current Location is different from the PC
Location.)
• Expression Commands
Commands that operate on expressions, such as print, dump, and
set, operate only on the current thread. Ordinarily the current
thread is the same as the selected thread, but you can change the
current thread by using the environment command or the Examine
button in the Threads dialog box.
DDE supports thread local storage (TLS). Use the __thread pseudo
type qualifier to define TLS variables in the application. At run time,
each thread in the application has its own copy of the TLS variables.
You can then use the print and set commands to evaluate and
change the values of the TLS variables for the current thread.
If you issue a watchpoint command followed by a go command, the
way the debugger behaves depends on whether the watchpoint is a
hardware watchpoint or a software watchpoint.
For online help on kernel threads debugging, choose "Common
Debugging Tasks: Command Line" in the main help window, then choose
"Debugging Multi-Threaded Applications" under "Debugging in Special
Situations."