Anjuta IDE Manual
<<< Previous | Debugging | Next >>>

# 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.

Figure 11. Kernel Signals window

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.

### Changing behaviour on signals

To change the way debugger behaves when a particular signal is received, select the signal in the list. Right-click to open the Operation menu. Choose Modify Signal. This will open a dialog. Set the three behaviours and click OK to commit the change.

Figure 12. Modify Kernel Signal dialog

### Sending the signal to the program

To explicitly sent the signal to the program being debugged, select the signal in the given list. Right-click to open the Operation menu. Choose the menu item Send to process. A confirmation dialog will appear. Click OK to confirm and send the signal to the program.

### Updating the signal list

Choose the menu item Update from the Operation menu (right-click in the Kernal Signals window to open) to refresh the Kernel Signals window.

## 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.

Figure 13. CPU Registers window

## 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).

Figure 14. Shared Libraries window

## 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.

<<< Previous | Home | Next >>>
Stack Trace | Up | Preferences