OLD | NEW |
1 What has changed in GDB? | 1 What has changed in GDB? |
2 (Organized release by release) | 2 (Organized release by release) |
3 | 3 |
| 4 *** Changes in GDB 7.5 |
| 5 |
| 6 * GDB now supports x32 ABI. Visit <http://sites.google.com/site/x32abi/> |
| 7 for more x32 ABI info. |
| 8 |
| 9 * GDB now supports access to MIPS DSP registers on Linux targets. |
| 10 |
| 11 * GDB now supports debugging microMIPS binaries. |
| 12 |
| 13 * The "info os" command on GNU/Linux can now display information on |
| 14 several new classes of objects managed by the operating system: |
| 15 "info os procgroups" lists process groups |
| 16 "info os files" lists file descriptors |
| 17 "info os sockets" lists internet-domain sockets |
| 18 "info os shm" lists shared-memory regions |
| 19 "info os semaphores" lists semaphores |
| 20 "info os msg" lists message queues |
| 21 "info os modules" lists loaded kernel modules |
| 22 |
| 23 * GDB now has support for SDT (Static Defined Tracing) probes. Currently, |
| 24 the only implemented backend is for SystemTap probes (<sys/sdt.h>). You |
| 25 can set a breakpoint using the new "-probe, "-pstap" or "-probe-stap" |
| 26 options and inspect the probe arguments using the new $_probe_arg family |
| 27 of convenience variables. You can obtain more information about SystemTap |
| 28 in <http://sourceware.org/systemtap/>. |
| 29 |
| 30 * GDB now supports reversible debugging on ARM, it allows you to |
| 31 debug basic ARM and THUMB instructions, and provides |
| 32 record/replay support. |
| 33 |
| 34 * The option "symbol-reloading" has been deleted as it is no longer used. |
| 35 |
| 36 * Python scripting |
| 37 |
| 38 ** GDB commands implemented in Python can now be put in command class |
| 39 "gdb.COMMAND_USER". |
| 40 |
| 41 ** The "maint set python print-stack on|off" is now deleted. |
| 42 |
| 43 ** A new class, gdb.printing.FlagEnumerationPrinter, can be used to |
| 44 apply "flag enum"-style pretty-printing to any enum. |
| 45 |
| 46 ** gdb.lookup_symbol can now work when there is no current frame. |
| 47 |
| 48 ** gdb.Symbol now has a 'line' attribute, holding the line number in |
| 49 the source at which the symbol was defined. |
| 50 |
| 51 ** gdb.Symbol now has the new attribute 'needs_frame' and the new |
| 52 method 'value'. The former indicates whether the symbol needs a |
| 53 frame in order to compute its value, and the latter computes the |
| 54 symbol's value. |
| 55 |
| 56 ** A new method 'referenced_value' on gdb.Value objects which can |
| 57 dereference pointer as well as C++ reference values. |
| 58 |
| 59 ** New methods 'global_block' and 'static_block' on gdb.Symtab objects |
| 60 which return the global and static blocks (as gdb.Block objects), |
| 61 of the underlying symbol table, respectively. |
| 62 |
| 63 ** New function gdb.find_pc_line which returns the gdb.Symtab_and_line |
| 64 object associated with a PC value. |
| 65 |
| 66 ** gdb.Symtab_and_line has new attribute 'last' which holds the end |
| 67 of the address range occupied by code for the current source line. |
| 68 |
| 69 * Go language support. |
| 70 GDB now supports debugging programs written in the Go programming |
| 71 language. |
| 72 |
| 73 * GDBserver now supports stdio connections. |
| 74 E.g. (gdb) target remote | ssh myhost gdbserver - hello |
| 75 |
| 76 * The binary "gdbtui" can no longer be built or installed. |
| 77 Use "gdb -tui" instead. |
| 78 |
| 79 * GDB will now print "flag" enums specially. A flag enum is one where |
| 80 all the enumerator values have no bits in common when pairwise |
| 81 "and"ed. When printing a value whose type is a flag enum, GDB will |
| 82 show all the constants, e.g., for enum E { ONE = 1, TWO = 2}: |
| 83 (gdb) print (enum E) 3 |
| 84 $1 = (ONE | TWO) |
| 85 |
| 86 * The filename part of a linespec will now match trailing components |
| 87 of a source file name. For example, "break gcc/expr.c:1000" will |
| 88 now set a breakpoint in build/gcc/expr.c, but not |
| 89 build/libcpp/expr.c. |
| 90 |
| 91 * The "info proc" and "generate-core-file" commands will now also |
| 92 work on remote targets connected to GDBserver on Linux. |
| 93 |
| 94 * The command "info catch" has been removed. It has been disabled |
| 95 since December 2007. |
| 96 |
| 97 * The "catch exception" and "catch assert" commands now accept |
| 98 a condition at the end of the command, much like the "break" |
| 99 command does. For instance: |
| 100 |
| 101 (gdb) catch exception Constraint_Error if Barrier = True |
| 102 |
| 103 Previously, it was possible to add a condition to such catchpoints, |
| 104 but it had to be done as a second step, after the catchpoint had been |
| 105 created, using the "condition" command. |
| 106 |
| 107 * The "info static-tracepoint-marker" command will now also work on |
| 108 native Linux targets with in-process agent. |
| 109 |
| 110 * GDB can now set breakpoints on inlined functions. |
| 111 |
| 112 * The .gdb_index section has been updated to include symbols for |
| 113 inlined functions. GDB will ignore older .gdb_index sections by |
| 114 default, which could cause symbol files to be loaded more slowly |
| 115 until their .gdb_index sections can be recreated. The new command |
| 116 "set use-deprecated-index-sections on" will cause GDB to use any older |
| 117 .gdb_index sections it finds. This will restore performance, but the |
| 118 ability to set breakpoints on inlined functions will be lost in symbol |
| 119 files with older .gdb_index sections. |
| 120 |
| 121 The .gdb_index section has also been updated to record more information |
| 122 about each symbol. This speeds up the "info variables", "info functions" |
| 123 and "info types" commands when used with programs having the .gdb_index |
| 124 section, as well as speeding up debugging with shared libraries using |
| 125 the .gdb_index section. |
| 126 |
| 127 * Ada support for GDB/MI Variable Objects has been added. |
| 128 |
| 129 * GDB can now support 'breakpoint always-inserted mode' in 'record' |
| 130 target. |
| 131 |
| 132 * MI changes |
| 133 |
| 134 ** New command -info-os is the MI equivalent of "info os". |
| 135 |
| 136 ** Output logs ("set logging" and related) now include MI output. |
| 137 |
| 138 * New commands |
| 139 |
| 140 ** "set use-deprecated-index-sections on|off" |
| 141 "show use-deprecated-index-sections on|off" |
| 142 Controls the use of deprecated .gdb_index sections. |
| 143 |
| 144 ** "catch load" and "catch unload" can be used to stop when a shared |
| 145 library is loaded or unloaded, respectively. |
| 146 |
| 147 ** "enable count" can be used to auto-disable a breakpoint after |
| 148 several hits. |
| 149 |
| 150 ** "info vtbl" can be used to show the virtual method tables for |
| 151 C++ and Java objects. |
| 152 |
| 153 ** "explore" and its sub commands "explore value" and "explore type" |
| 154 can be used to reccursively explore values and types of |
| 155 expressions. These commands are available only if GDB is |
| 156 configured with '--with-python'. |
| 157 |
| 158 ** "info auto-load" shows status of all kinds of auto-loaded files, |
| 159 "info auto-load gdb-scripts" shows status of auto-loading GDB canned |
| 160 sequences of commands files, "info auto-load python-scripts" |
| 161 shows status of auto-loading Python script files, |
| 162 "info auto-load local-gdbinit" shows status of loading init file |
| 163 (.gdbinit) from current directory and "info auto-load libthread-db" shows |
| 164 status of inferior specific thread debugging shared library loading. |
| 165 |
| 166 ** "info auto-load-scripts", "set auto-load-scripts on|off" |
| 167 and "show auto-load-scripts" commands have been deprecated, use their |
| 168 "info auto-load python-scripts", "set auto-load python-scripts on|off" |
| 169 and "show auto-load python-scripts" counterparts instead. |
| 170 |
| 171 ** "dprintf location,format,args..." creates a dynamic printf, which |
| 172 is basically a breakpoint that does a printf and immediately |
| 173 resumes your program's execution, so it is like a printf that you |
| 174 can insert dynamically at runtime instead of at compiletime. |
| 175 |
| 176 ** "set print symbol" |
| 177 "show print symbol" |
| 178 Controls whether GDB attempts to display the symbol, if any, |
| 179 corresponding to addresses it prints. This defaults to "on", but |
| 180 you can set it to "off" to restore GDB's previous behavior. |
| 181 |
| 182 * Deprecated commands |
| 183 |
| 184 ** For the Renesas Super-H architecture, the "regs" command has been |
| 185 deprecated, and "info all-registers" should be used instead. |
| 186 |
| 187 * New targets |
| 188 |
| 189 Renesas RL78 rl78-*-elf |
| 190 HP OpenVMS ia64 ia64-hp-openvms* |
| 191 |
| 192 * GDBserver supports evaluation of breakpoint conditions. When |
| 193 support is advertised by GDBserver, GDB may be told to send the |
| 194 breakpoint conditions in bytecode form to GDBserver. GDBserver |
| 195 will only report the breakpoint trigger to GDB when its condition |
| 196 evaluates to true. |
| 197 |
| 198 * New options |
| 199 |
| 200 set mips compression |
| 201 show mips compression |
| 202 Select the compressed ISA encoding used in functions that have no symbol |
| 203 information available. The encoding can be set to either of: |
| 204 mips16 |
| 205 micromips |
| 206 and is updated automatically from ELF file flags if available. |
| 207 |
| 208 set breakpoint condition-evaluation |
| 209 show breakpoint condition-evaluation |
| 210 Control whether breakpoint conditions are evaluated by GDB ("host") or by |
| 211 GDBserver ("target"). Default option "auto" chooses the most efficient |
| 212 available mode. |
| 213 This option can improve debugger efficiency depending on the speed of the |
| 214 target. |
| 215 |
| 216 set auto-load off |
| 217 Disable auto-loading globally. |
| 218 |
| 219 show auto-load |
| 220 Show auto-loading setting of all kinds of auto-loaded files. |
| 221 |
| 222 set auto-load gdb-scripts on|off |
| 223 show auto-load gdb-scripts |
| 224 Control auto-loading of GDB canned sequences of commands files. |
| 225 |
| 226 set auto-load python-scripts on|off |
| 227 show auto-load python-scripts |
| 228 Control auto-loading of Python script files. |
| 229 |
| 230 set auto-load local-gdbinit on|off |
| 231 show auto-load local-gdbinit |
| 232 Control loading of init file (.gdbinit) from current directory. |
| 233 |
| 234 set auto-load libthread-db on|off |
| 235 show auto-load libthread-db |
| 236 Control auto-loading of inferior specific thread debugging shared library. |
| 237 |
| 238 set auto-load scripts-directory <dir1>[:<dir2>...] |
| 239 show auto-load scripts-directory |
| 240 Set a list of directories from which to load auto-loaded scripts. |
| 241 Automatically loaded Python scripts and GDB scripts are located in one |
| 242 of the directories listed by this option. |
| 243 The delimiter (':' above) may differ according to the host platform. |
| 244 |
| 245 set auto-load safe-path <dir1>[:<dir2>...] |
| 246 show auto-load safe-path |
| 247 Set a list of directories from which it is safe to auto-load files. |
| 248 The delimiter (':' above) may differ according to the host platform. |
| 249 |
| 250 set debug auto-load on|off |
| 251 show debug auto-load |
| 252 Control display of debugging info for auto-loading the files above. |
| 253 |
| 254 set dprintf-style gdb|call|agent |
| 255 show dprintf-style |
| 256 Control the way in which a dynamic printf is performed; "gdb" |
| 257 requests a GDB printf command, while "call" causes dprintf to call a |
| 258 function in the inferior. "agent" requests that the target agent |
| 259 (such as GDBserver) do the printing. |
| 260 |
| 261 set dprintf-function <expr> |
| 262 show dprintf-function |
| 263 set dprintf-channel <expr> |
| 264 show dprintf-channel |
| 265 Set the function and optional first argument to the call when using |
| 266 the "call" style of dynamic printf. |
| 267 |
| 268 set disconnected-dprintf on|off |
| 269 show disconnected-dprintf |
| 270 Control whether agent-style dynamic printfs continue to be in effect |
| 271 after GDB disconnects. |
| 272 |
| 273 * New configure options |
| 274 |
| 275 --with-auto-load-dir |
| 276 Configure default value for the 'set auto-load scripts-directory' |
| 277 setting above. It defaults to '$debugdir:$datadir/auto-load', |
| 278 $debugdir representing global debugging info directories (available |
| 279 via 'show debug-file-directory') and $datadir representing GDB's data |
| 280 directory (available via 'show data-directory'). |
| 281 |
| 282 --with-auto-load-safe-path |
| 283 Configure default value for the 'set auto-load safe-path' setting |
| 284 above. It defaults to the --with-auto-load-dir setting. |
| 285 |
| 286 --without-auto-load-safe-path |
| 287 Set 'set auto-load safe-path' to '/', effectively disabling this |
| 288 security feature. |
| 289 |
| 290 * New remote packets |
| 291 |
| 292 z0/z1 conditional breakpoints extension |
| 293 |
| 294 The z0/z1 breakpoint insertion packets have been extended to carry |
| 295 a list of conditional expressions over to the remote stub depending on the |
| 296 condition evaluation mode. The use of this extension can be controlled |
| 297 via the "set remote conditional-breakpoints-packet" command. |
| 298 |
| 299 QProgramSignals: |
| 300 |
| 301 Specify the signals which the remote stub may pass to the debugged |
| 302 program without GDB involvement. |
| 303 |
| 304 * New command line options |
| 305 |
| 306 --init-command=FILE, -ix Like --command, -x but execute it |
| 307 before loading inferior. |
| 308 --init-eval-command=COMMAND, -iex Like --eval-command=COMMAND, -ex but |
| 309 execute it before loading inferior. |
| 310 |
4 *** Changes in GDB 7.4 | 311 *** Changes in GDB 7.4 |
5 | 312 |
6 * GDB now handles ambiguous linespecs more consistently; the existing | 313 * GDB now handles ambiguous linespecs more consistently; the existing |
7 FILE:LINE support has been expanded to other types of linespecs. A | 314 FILE:LINE support has been expanded to other types of linespecs. A |
8 breakpoint will now be set on all matching locations in all | 315 breakpoint will now be set on all matching locations in all |
9 inferiors, and locations will be added or removed according to | 316 inferiors, and locations will be added or removed according to |
10 inferior changes. | 317 inferior changes. |
11 | 318 |
12 * GDB now allows you to skip uninteresting functions and files when | 319 * GDB now allows you to skip uninteresting functions and files when |
13 stepping with the "skip function" and "skip file" commands. | 320 stepping with the "skip function" and "skip file" commands. |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 tracepoints; GDB will display a warning, but will allow the experiment to | 479 tracepoints; GDB will display a warning, but will allow the experiment to |
173 begin, assuming that tracepoints will be enabled as needed while the trace | 480 begin, assuming that tracepoints will be enabled as needed while the trace |
174 is running. | 481 is running. |
175 | 482 |
176 * Fast tracepoints on 32-bit x86-architectures can now be placed at | 483 * Fast tracepoints on 32-bit x86-architectures can now be placed at |
177 locations with 4-byte instructions, when they were previously | 484 locations with 4-byte instructions, when they were previously |
178 limited to locations with instructions of 5 bytes or longer. | 485 limited to locations with instructions of 5 bytes or longer. |
179 | 486 |
180 * New options | 487 * New options |
181 | 488 |
| 489 set debug dwarf2-read |
| 490 show debug dwarf2-read |
| 491 Turns on or off display of debugging messages related to reading |
| 492 DWARF debug info. The default is off. |
| 493 |
| 494 set debug symtab-create |
| 495 show debug symtab-create |
| 496 Turns on or off display of debugging messages related to symbol table |
| 497 creation. The default is off. |
| 498 |
182 set extended-prompt | 499 set extended-prompt |
183 show extended-prompt | 500 show extended-prompt |
184 Set the GDB prompt, and allow escape sequences to be inserted to | 501 Set the GDB prompt, and allow escape sequences to be inserted to |
185 display miscellaneous information (see 'help set extended-prompt' | 502 display miscellaneous information (see 'help set extended-prompt' |
186 for the list of sequences). This prompt (and any information | 503 for the list of sequences). This prompt (and any information |
187 accessed through the escape sequences) is updated every time the | 504 accessed through the escape sequences) is updated every time the |
188 prompt is displayed. | 505 prompt is displayed. |
189 | 506 |
190 set print entry-values (both|compact|default|if-needed|no|only|preferred) | 507 set print entry-values (both|compact|default|if-needed|no|only|preferred) |
191 show print entry-values | 508 show print entry-values |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 via "set dcache line" and "set dcache line-size" commands. | 569 via "set dcache line" and "set dcache line-size" commands. |
253 | 570 |
254 * New targets | 571 * New targets |
255 | 572 |
256 Texas Instruments TMS320C6x tic6x-*-* | 573 Texas Instruments TMS320C6x tic6x-*-* |
257 | 574 |
258 * New Simulators | 575 * New Simulators |
259 | 576 |
260 Renesas RL78 rl78-*-elf | 577 Renesas RL78 rl78-*-elf |
261 | 578 |
262 * The binary "gdbtui" is deprecated. | |
263 | |
264 The binary will be no longer built or installed in GDB 7.5. | |
265 Use "gdb -tui" instead. | |
266 | |
267 *** Changes in GDB 7.3.1 | 579 *** Changes in GDB 7.3.1 |
268 | 580 |
269 * The build failure for NetBSD and OpenBSD targets have now been fixed. | 581 * The build failure for NetBSD and OpenBSD targets have now been fixed. |
270 | 582 |
271 *** Changes in GDB 7.3 | 583 *** Changes in GDB 7.3 |
272 | 584 |
273 * GDB has a new command: "thread find [REGEXP]". | 585 * GDB has a new command: "thread find [REGEXP]". |
274 It finds the thread id whose name, target id, or thread extra info | 586 It finds the thread id whose name, target id, or thread extra info |
275 matches the given regular expression. | 587 matches the given regular expression. |
276 | 588 |
(...skipping 4489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4766 | 5078 |
4767 * Configuring GDB for compilation | 5079 * Configuring GDB for compilation |
4768 | 5080 |
4769 For normal use, type ``./configure host''. See README or gdb.texinfo | 5081 For normal use, type ``./configure host''. See README or gdb.texinfo |
4770 for more details. | 5082 for more details. |
4771 | 5083 |
4772 GDB now handles cross debugging. If you are remotely debugging between | 5084 GDB now handles cross debugging. If you are remotely debugging between |
4773 two different machines, type ``./configure host -target=targ''. | 5085 two different machines, type ``./configure host -target=targ''. |
4774 Host is the machine where GDB will run; targ is the machine | 5086 Host is the machine where GDB will run; targ is the machine |
4775 where the program that you are debugging will run. | 5087 where the program that you are debugging will run. |
OLD | NEW |