Changes between Version 20 and Version 21 of Tools/Gdb Server
- Timestamp:
- Nov 27, 2009, 4:20:30 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Tools/Gdb Server
v20 v21 142 142 (gdb) monitor calltrace 1 2 # enable for thread 2 (processor 1) 143 143 }}} 144 144 145 * The processor (thread id) used for step by step execution may be forced for the next '''single step''' operation: 145 146 {{{ 146 147 (gdb) monitor stepcpu 1 147 148 }}} 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. 149 151 {{{ 150 152 (gdb) monitor except 1 # enable for all processors 151 153 (gdb) monitor except 0 2 # disable for thread 2 (processor 1) 152 154 }}} 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 153 157 * 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. 154 158 {{{ … … 156 160 (gdb) monitor watch -r 0x12345000 32 157 161 }}} 162 This kind of watch points can be added using the `SOCLIB_GDB_WATCH` environment variable too: 163 {{{ 164 export 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 158 168 * The gdb protocol debug mode may be enabled to dump interaction between client and server: 159 169 {{{ 160 170 (gdb) monitor debug 1 161 171 }}} 172 162 173 * 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. 163 174 {{{