GNU Debugger 10.2 Is Released
The GNU project has released another fine version of the GNU Debugger (gdb
). This release is the second bug-fix release for GDB 10.0 released in September 2020. It does not contain any new features.
written by 윤채경 (Yoon Chae-kyung) 2021-04-25 - last edited 2021-04-25. © CC BY
GNU GDB 10.2 debugging a crashed program.
gdb
is a debugger that can handle programs written in C, C++, Go, Rust and a rather long list on other languages. It works on GNU/Linux, Windows and many other operating systems running on a variety of architectures ranging form x86-64 to ARM to RISC-V.
GDB 10.2 is the second bug-fix release for the GDB 10.x branch released on September 13th, 2020. There are no new features in it, just bug-fixes.
The release announcement lists the following bug-fixes since 10.1 was released on October 24th, 2020:
"
- PR remote/26614 (AddressSanitizer: heap-use-after-free of extended_remote_target in remote_async_inferior_event_handler)
- PR gdb/26828 (SIGSEGV in follow_die_offset dwarf2/read.c:22950)
- PR gdb/26861 (internal-error: void target_mourn_inferior(ptid_t): Assertion `ptid == inferior_ptid' failed. OS: Mac OSX Catalina; Compiler: GCC; Language: C)
- PR gdb/26876 (gdb error: internal-error: Unknown CFA rule when debugging the linux kernel with qemu)
- PR breakpoints/26881 (infrun.c:6384: internal-error: void process_event_stop_test(execution_control_state*): Assertion `ecs->event_thread->control.exception_resume_breakpoint != NULL' failed)
- PR gdb/26901 (Array subscript fails with flexible array member without size)
- PR tui/26973 (gdb crashes when not including the status window in a new layout)
- PR python/26974 (Wrong Value.format_string docu for static members argument)
- PR breakpoints/27009 ([s390] GDB branches randomly for BC instruction while displaced stepping)
- PR tdep/27015 (ARC: "eret" value is collected from the wrong data in register cache)
- PR backtrace/27147 ([GNU/Linux, sparc64] GDB is unable to print full stack trace (got "previous frame inner to this frame" errors))
- PR rust/27194 (put rust demangler on 10.x branch)
- PR threads/27239 (gdb/cp-support.c:1619:(.text+0x5502): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `TLS init function for thread_local_segv_handler')
- PR breakpoints/27330 (nextoverthrow.exp FAILs on arm-none-eabi)
- PR symtab/27333 ([dwarf-5] abort on unhandled DW_TAG_type_unit in process_psymtab_comp_unit)
- PR fortran/27341 ([dwarf-5] FAIL: gdb.fortran/function-calls.exp: p derived_types_and_module_calls::pass_cart_nd(c_nd))
- PR tdep/27369 (ARC: Stepping over atomic instruction sequences loops infinitely)
- PR build/27385 (Cannot compile arc.c with gcc-4.8 (error: no matching function for call to 'std::pair...'))
- PR gdb/27435 (Attach on solaris segfaults GDB)
- PR build/27535 (amd64-linux-siginfo.c fails to compile after updating to glibc-2.33 headers)
- PR build/27536 (aarch64-linux-hw-point.c fails to compile after updating to glibc-2.33)
- PR symtab/27541 (gdb crashes on "file -readnow")
- PR gdb/27750 (local variables have wrong address and values on sparc64)
- PR varobj/27757 (-var-list-children coredump)
"
The source code for GDB 10.2 can be acquired from http://ftp.gnu.org/gnu/gdb/ and the home page is at www.gnu.org/software/gdb/.
GDB was initially released all the way back in 1986. It is the standard go-to debugger on GNU/Linux, so you do not have to install it from source unless you really want to, all the GNU/Linux distributions have it available in their repositories. Compiling it is strait forward with ./configure && make
if you want to go that route. Compiling with make -j$(nproc)
takes about 10 minutes on a modern multi-core x86-64 CPU. Do be aware that there is no make uninstall
if you install it from source, all the Makefile
has to offer for uninstall
functionality is @echo "the uninstall target is not supported in this tree"
...
Enable comment auto-refresher