[HN Gopher] Writing a Linux Debugger (2017)
___________________________________________________________________
Writing a Linux Debugger (2017)
Author : lrsjng
Score : 67 points
Date : 2023-06-13 21:09 UTC (1 days ago)
(HTM) web link (blog.tartanllama.xyz)
(TXT) w3m dump (blog.tartanllama.xyz)
| hoten wrote:
| Appreciated the How is Babby Formed reference in chapter two:)
| PhilipRoman wrote:
| Nice, I really like that it describes the DWARF format instead of
| just handwaving around it. I've been considering adding DWARF
| support to my compiler so that I can use mainstream debuggers
| with it and this article has just destroyed my last excuse to
| procrastinate.
|
| I must admit, the title got me very excited (it's still a cool
| article regardless) - something I've always wanted is a system-
| wide debugger for Linux. Something that can put breakpoints in
| arbitrary executables or shell scripts (via custom /bin/sh
| wrapper?) system wide, not just within a debugging session. I'd
| love to be able to put conditional breakpoints on, say, any
| process that opens a named pipe matching some regex. I find that
| when dealing with complex systems involving systemd services,
| cron jobs, udev and 30 different daemons running in background,
| gdb and strace simply aren't enough.
| Veserv wrote:
| As someone who does debugger development as part of their day
| job, I can attest that this is a very good introduction to the
| details of basic debugger operation and implementation. If you
| are unfamiliar with the topic, I recommend you give it a try as
| it immediately starts giving useful nuggets of knowledge that are
| applicable in other circumstances if you are ever interested in
| doing low level or embedded development.
| HexDecOctBin wrote:
| However, note that the libelfin library that the author uses is
| pretty much unmaintained.
|
| I am not sure what would be the right way to parse ELF and
| DWARF? libelf/libdwarf, libdw, or something else?
|
| Also, since you are probably in the know, is liblldb
| "extensible", in the sense that can liblldb can be used as a
| foundation of a new debugger with experimental features added
| on top of it?
| msla wrote:
| libbfd is apparently what the GNU debugger uses:
|
| https://ftp.gnu.org/old-
| gnu/Manuals/bfd-2.9.1/html_chapter/b...
|
| https://en.wikipedia.org/wiki/Binary_File_Descriptor_library
| tromey wrote:
| gdb uses BFD for object file access but has its own DWARF
| reader.
___________________________________________________________________
(page generated 2023-06-14 23:01 UTC)