90e4f06e60
Changelog: *** Changes in GDB 7.11 * GDB now supports debugging kernel-based threads on FreeBSD. * Per-inferior thread numbers Thread numbers are now per inferior instead of global. If you're debugging multiple inferiors, GDB displays thread IDs using a qualified INF_NUM.THR_NUM form. For example: (gdb) info threads Id Target Id Frame 1.1 Thread 0x7ffff7fc2740 (LWP 8155) (running) 1.2 Thread 0x7ffff7fc1700 (LWP 8168) (running) * 2.1 Thread 0x7ffff7fc2740 (LWP 8157) (running) 2.2 Thread 0x7ffff7fc1700 (LWP 8190) (running) As consequence, thread numbers as visible in the $_thread convenience variable and in Python's InferiorThread.num attribute are no longer unique between inferiors. GDB now maintains a second thread ID per thread, referred to as the global thread ID, which is the new equivalent of thread numbers in previous releases. See also $_gthread below. For backwards compatibility, MI's thread IDs always refer to global IDs. * Commands that accept thread IDs now accept the qualified INF_NUM.THR_NUM form as well. For example: (gdb) thread 2.1 [Switching to thread 2.1 (Thread 0x7ffff7fc2740 (LWP 8157))] (running) (gdb) * In commands that accept a list of thread IDs, you can now refer to all threads of an inferior using a star wildcard. GDB accepts "INF_NUM.*", to refer to all threads of inferior INF_NUM, and "*" to refer to all threads of the current inferior. For example, "info threads 2.*". * You can use "info threads -gid" to display the global thread ID of all threads. * The new convenience variable $_gthread holds the global number of the current thread. * The new convenience variable $_inferior holds the number of the current inferior. * GDB now displays the ID and name of the thread that hit a breakpoint or received a signal, if your program is multi-threaded. For example: Thread 3 "bar" hit Breakpoint 1 at 0x40087a: file program.c, line 20. Thread 1 "main" received signal SIGINT, Interrupt. * Record btrace now supports non-stop mode. * Support for tracepoints on aarch64-linux was added in GDBserver. * The 'record instruction-history' command now indicates speculative execution when using the Intel Processor Trace recording format. * GDB now allows users to specify explicit locations, bypassing the linespec parser. This feature is also available to GDB/MI clients. * Multi-architecture debugging is supported on AArch64 GNU/Linux. GDB now is able to debug both AArch64 applications and ARM applications at the same time. * Support for fast tracepoints on aarch64-linux was added in GDBserver, including JIT compiling fast tracepoint's conditional expression bytecode into native code. * GDB now supports displaced stepping on AArch64 GNU/Linux. * "info threads", "info inferiors", "info display", "info checkpoints" and "maint info program-spaces" now list the corresponding items in ascending ID order, for consistency with all other "info" commands. * In Ada, the overloads selection menu has been enhanced to display the parameter types and the return types for the matching overloaded subprograms. * New commands maint set target-non-stop (on|off|auto) maint show target-non-stop Control whether GDB targets always operate in non-stop mode even if "set non-stop" is "off". The default is "auto", meaning non-stop mode is enabled if supported by the target. maint set bfd-sharing maint show bfd-sharing Control the reuse of bfd objects. set debug bfd-cache show debug bfd-cache Control display of debugging info regarding bfd caching. set debug fbsd-lwp show debug fbsd-lwp Control display of debugging info regarding FreeBSD threads. set remote multiprocess-extensions-packet show remote multiprocess-extensions-packet Set/show the use of the remote protocol multiprocess extensions. set remote thread-events show remote thread-events Set/show the use of thread create/exit events. set ada print-signatures on|off show ada print-signatures" Control whether parameter types and return types are displayed in overloads selection menus. It is activaled (@code{on}) by default. set max-value-size show max-value-size Controls the maximum size of memory, in bytes, that GDB will allocate for value contents. Prevents incorrect programs from causing GDB to allocate overly large buffers. Default is 64k. * The "disassemble" command accepts a new modifier: /s. It prints mixed source+disassembly like /m with two differences: - disassembled instructions are now printed in program order, and - and source for all relevant files is now printed. The "/m" option is now considered deprecated: its "source-centric" output hasn't proved useful in practice. * The "record instruction-history" command accepts a new modifier: /s. It behaves exactly like /m and prints mixed source+disassembly. * The "set scheduler-locking" command supports a new mode "replay". It behaves like "off" in record mode and like "on" in replay mode. * Support for various ROM monitors has been removed: target dbug dBUG ROM monitor for Motorola ColdFire target picobug Motorola picobug monitor target dink32 DINK32 ROM monitor for PowerPC target m32r Renesas M32R/D ROM monitor target mon2000 mon2000 ROM monitor target ppcbug PPCBUG ROM monitor for PowerPC * Support for reading/writing memory and extracting values on architectures whose memory is addressable in units of any integral multiple of 8 bits. * New remote packets exec stop reason Indicates that an exec system call was executed. exec-events feature in qSupported The qSupported packet allows GDB to request support for exec events using the new 'gdbfeature' exec-event, and the qSupported response can contain the corresponding 'stubfeature'. Set and show commands can be used to display whether these features are enabled. vCtrlC Equivalent to interrupting with the ^C character, but works in non-stop mode. thread created stop reason (T05 create:...) Indicates that the thread was just created and is stopped at entry. thread exit stop reply (w exitcode;tid) Indicates that the thread has terminated. QThreadEvents Enables/disables thread create and exit event reporting. For example, this is used in non-stop mode when GDB stops a set of threads and synchronously waits for the their corresponding stop replies. Without exit events, if one of the threads exits, GDB would hang forever not knowing that it should no longer expect a stop for that same thread. N stop reply Indicates that there are no resumed threads left in the target (all threads are stopped). The remote stub reports support for this stop reply to GDB's qSupported query. QCatchSyscalls:1 [;SYSNO]... QCatchSyscalls:0 Enable ("QCatchSyscalls:1") or disable ("QCatchSyscalls:0") catching syscalls from the inferior process. syscall_entry stop reason Indicates that a syscall was just called. syscall_return stop reason Indicates that a syscall just returned. QCatchSyscalls:1 in qSupported The qSupported packet may now include QCatchSyscalls:1 in the reply to indicate support for catching syscalls. * Extended-remote exec events ** GDB now has support for exec events on extended-remote Linux targets. For such targets with Linux kernels 2.5.46 and later, this enables follow-exec-mode and exec catchpoints. set remote exec-event-feature-packet show remote exec-event-feature-packet Set/show the use of the remote exec event feature. * Thread names in remote protocol The reply to qXfer:threads:read may now include a name attribute for each thread. * Target remote mode fork and exec events ** GDB now has support for fork and exec events on target remote mode Linux targets. For such targets with Linux kernels 2.5.46 and later, this enables follow-fork-mode, detach-on-fork, follow-exec-mode, and fork and exec catchpoints. * Remote syscall events ** GDB now has support for catch syscall on remote Linux targets, currently enabled on x86/x86_64 architectures. set remote catch-syscall-packet show remote catch-syscall-packet Set/show the use of the remote catch syscall feature. * MI changes ** The -var-set-format command now accepts the zero-hexadecimal format. It outputs data in hexadecimal format with zero-padding on the left. * Python Scripting ** gdb.InferiorThread objects have a new attribute "global_num", which refers to the thread's global thread ID. The existing "num" attribute now refers to the thread's per-inferior number. See "Per-inferior thread numbers" above. ** gdb.InferiorThread objects have a new attribute "inferior", which is the Inferior object the thread belongs to. |
||
---|---|---|
.. | ||
patches | ||
DESCR | ||
distinfo | ||
Makefile | ||
options.mk | ||
PLIST.common | ||
PLIST.DragonFly | ||
PLIST.Linux | ||
PLIST.NetBSD | ||
PLIST.OpenBSD | ||
PLIST.SunOS |