jingham at apple.com
Thu Nov 10 10:09:58 PST 2011
Glad to hear this!
The one other bit of source material you might want to dig into is the DWARF standard, figuring out how debug information is represented in some detail will give you a sense of some of the complexities on the symbol side of the debugger. Plus if you actually start poking around in actual debuggers you're going to need to know this. For everything but the Microsoft tools, DWARF is the de facto standard, so getting familiar with how it works will be a big help.
Other than that, probably the best thing to do is to start reading the source code. There's only so much theoretical work you can do, then you just have to get down to the details...
The trick is to find some clue that you can follow into the daunting mass of code. One way would be to pick some task, setting breakpoints, handling shared library loads, function calling in the inferior, etc, and start to follow how it is done, walking through the code in the debugger to get a general outline, then read around for more details. Another really good way to get started is to think as a user of the debugger what features you'd like to see added or fixed, and then use that as your lead to start into the code, figuring out how to fix or add whatever you've decided to focus on.
On Nov 10, 2011, at 9:22 AM, Andreas Donig wrote:
> Hello everybody,
> I'm an undergrad student of computer science doing some research in debuggers. I've read J.B. Rosenberg's "How Debuggers Work", the GDB Internals manual and went through the documentation on LLDB's website and now I'm craving for more. I'd greatly appreciate if you'd let me know about other relevant documentation or anything else you could suggest as a reading.
> Best regards
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
More information about the lldb-dev