Changes between Version 17 and Version 18 of Tools/Gdb Server


Ignore:
Timestamp:
Nov 21, 2009, 2:26:31 PM (14 years ago)
Author:
becoulet
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Tools/Gdb Server

    v17 v18  
    121121
    122122 * Managed processors begin executing code at simulation startup until a gdb client connect on port 2346.
    123  * Processors may be forced to start in frozen state waiting for incoming gdb connection by setting the `SOCLIB_GDB` environment variable to `START_FROZEN`.
     123 * Processors may be forced to start in frozen state waiting for incoming gdb connection by adding the `F` flag to the `SOCLIB_GDB` environment variable.
    124124 * All the managed processors are frozen at the same time when the gdb client prompt is displayed.
    125125 * When using the `continue` command, all processors resume at the same time.
     
    131131The gdb client offers a easy way to send server specific data though the `monitor` command. Our GdbServer takes advantages of the `monitor` command to provide useful advanced features:
    132132
     133 * The !GdbServer may be instructed to dump every inter-function branch to produde a calltrace on stderr. The {{{set_loader}}} function must be used on Gdb iss to enable this feature. This can be enabled globally by adding the `C` flag to the `SOCLIB_GDB` environment variable; or on a per processor basis using the calltrace command:
     134{{{
     135(gdb) monitor calltrace 0         # disable for all processors
     136(gdb) monitor calltrace 1 2       # enable for thread 2, processor 1
     137}}}
    133138 * The processor (thread id) used for step by step execution may be forced for the next '''single step''' operation:
    134139{{{
    135140(gdb) monitor stepcpu 1
    136141}}}
    137  * The GdbServer may be instructed to break on processor exception or to let the processor jump in its exception handler transparently. When used with an extra parameter, this setting can apply to a single processor instead of all. The following command disables exception catching for thread id 2 (processor 1):
     142 * The !GdbServer may be instructed to break on processor exception or to let the processor jump in its exception handler transparently. When used with an extra parameter, this setting can apply to a single processor instead of all:
    138143{{{
    139 (gdb) monitor except 0 2
     144(gdb) monitor except 1            # enable for all processors
     145(gdb) monitor except 0 2          # disable for thread 2, processor 1
    140146}}}
    141147 * An alternative way to set hardware watch point range is provided to bypass the sometime annoying gdb client watch point feature. It can be used to modifiy directly the read and write watching intervals. The following commands set a 4 bytes (default is cpu register width) read/write watch interval at 0x12345678 and then excludes read watching for 32 bytes range at 0x12345000. These watch points will be unknown to the gdb client and will be lost when the simulation terminates.