Writing a Linux Debugger (2017)
blog.tartanllama.xyz
Writing a Linux Debugger (2017)
1–10 of 14 posts
Re: Writing a Linux Debugger (2017)
#2Re: Writing a Linux Debugger (2017)
#3I 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.
Re: Writing a Linux Debugger (2017)
#4As 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 developmen…
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?
Re: Writing a Linux Debugger (2017)
#5Re: Writing a Linux Debugger (2017)
#6As 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 developmen…
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?
https://ftp.gnu.org/old-gnu/Manuals/bfd-2.9.1/html_chapter/b...
https://en.wikipedia.org/wiki/Binary_File_Descriptor_library
Re: Writing a Linux Debugger (2017)
#7Earlier quoted context omitted.
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?
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
Re: Writing a Linux Debugger (2017)
#8As 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 developmen…
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?
Re: Writing a Linux Debugger (2017)
#9Earlier quoted context omitted.
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?
The Rust goblin and gimli crates are very good, I've used them for ELF symbol resolution things before and they're a dream compared to libelf.
Re: Writing a Linux Debugger (2017)
#10As 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 developmen…
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?
[1] https://github.com/rizinorg/rizin/tree/dev/librz/bin
[2] https://rizin.re/posts/gsoc-2023-announcement/#billow-debug-...