Changes between Version 20 and Version 21 of Tools/Gdb Server


Ignore:
Timestamp:
Nov 27, 2009, 4:20:30 PM (14 years ago)
Author:
becoulet
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Tools/Gdb Server

    v20 v21  
    142142(gdb) monitor calltrace 1 2       # enable for thread 2 (processor 1)
    143143}}}
     144
    144145 * The processor (thread id) used for step by step execution may be forced for the next '''single step''' operation:
    145146{{{
    146147(gdb) monitor stepcpu 1
    147148}}}
    148  * 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. Exception catching is enabled by default but can be disabled globaly by adding the `X` flag to the the `SOCLIB_GDB` environment variable.
     149
     150 * 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.
    149151{{{
    150152(gdb) monitor except 1            # enable for all processors
    151153(gdb) monitor except 0 2          # disable for thread 2 (processor 1)
    152154}}}
     155 Exception catching is enabled by default but can be disabled globaly by adding the `X` flag to the the `SOCLIB_GDB` environment variable.
     156
    153157 * 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.
    154158{{{
     
    156160(gdb) monitor watch -r 0x12345000 32
    157161}}}
     162 This kind of watch points can be added using the `SOCLIB_GDB_WATCH` environment variable too:
     163{{{
     164export SOCLIB_GDB_WATCH=0x12340000w:0x45870000rw
     165}}}
     166 The `W` flag can be added to the the `SOCLIB_GDB` variable to just repport watchpoint hit on stderr and avoid stoping the simulation to be less intrusive.
     167
    158168 * The gdb protocol debug mode may be enabled to dump interaction between client and server:
    159169{{{
    160170(gdb) monitor debug 1
    161171}}}
     172
    162173 * The gdb server almost stops the simulation process when the instrumented virtual processors are frozen. This saves ressources of the host machine during debugging sessions. However this behavior may be an issue when freezing other platform components is not desirable (Use of multiple GDB servers with different processors, critical I/O device latency, multi-threaded simulation... ). The `sleepms` command can be used to tweak the simulator sleep time between each execution cycle when the processors are in frozen state. This value may be set to 0 to let the simulation running at full speed or to -1 to completly stop the simulation while processors are frozen. The `SOCLIB_GDB_SLEEPMS` environment variable can also be used to set this value. An integer ms value is expected. The default value is 100ms.
    163174{{{