Others

There are a number of other debugger features which are used less frequently, but are nevertheless handy.

Kernel Signals

Kernel signals are a way of signaling between processes in Linux. The list of signals available for a program can be displayed by choosing the menu item View->Kernel Signals. A window will open which lists all of the signals available in the system along with a brief description of each signal.

There are three columns which specify what to do when the signal is received:

  1. Stop — this tells the debugger whether to stop the program execution (and return control) when the program receives this signal.

  2. Print — this tells the debugger whether to display the received signal.

  3. Pass — this tells the debugger whether to pass the signal to the program.

CPU registers

It is possible to examine the contents of the internal registers of the CPU (microprocessor). Choose the menu item View->Registers. A window listing all of the available registers in the microprocessor and their corrosponding contents will appear.

Dynamically loaded Libraries

To obtain a list of the dynamic libraries used by the program, choose the menu item View->Shared Libraries. This will bring open a window which will list all the shared libraries the program has loaded and their locations in the memory. It also shows whether the symbol table is loaded or not (Yes/No).

Interrupting the program

While the program is running and has control, no debugging tasks can be performed. To obtain control while the program is running, choose the menu item Debug->Interrupt Program. This will interrupt the program and return control to the debugger.

For interruption to work properly, set the debugger behaviour for the interrupt signal (SIGINT) to the value [ Stop:Yes, Print:Yes, Pass:No ]. This is the default value.