osandov/drgn

Implement breakpoints and single-stepping of userspace processes

Opened this issue · 1 comments

bollu commented

Hey, thanks for this really cool library!

I was wondering if drgn plans to support the ability to not just debug programs (a) after-the-fact via a core dump, (b) connect to long-running programs via their PID, but also support GDB/LLDB like use-cases that allows (c) single-stepping through an executable.

It'd be really helpful to have a scriptable, pure python library/REPL to single-step through a program. Is it possible to use drgn for this purpose? If so, pointers on how to do this would be swell. If not, is it possible to extend drgn to support this?

This isn't currently supported, but it's definitely planned. The plan is to first add an API to represent threads (#92), which @Svetlitski-FB is currently working on. Once that's done, we can add APIs for attaching to threads, setting breakpoints, and stepping. I don't have an estimate of when that will be done.