[lldb-dev] JIT debugging and Windows

Andrew MacPherson andrew.macp at gmail.com
Mon Dec 23 03:21:42 PST 2013


Hi Tim,

At the moment the debugger work is integrated with our closed KL compiler (
http://fabricengine.com/) so I can't point you to a public repository right
now, though we'd like to move this functionality to LLDB.

As a bit of an overview we currently have a simple debugger written using
ptrace on Linux and the Debug API on Windows. The debugger receives info
from MCJIT's GDBRegistrar in the same way as GDB when code has been JIT-ed
and we then parse the Dwarf info from that object (using the elftoolchain).
We support breakpoints and examining variables on both OSes but it's become
clear that as we push on we're duplicating effort with the LLDB project so
it would be nice to bring them together.

There are a few issues on Windows, such as the fact that we're currently
mixing VS-compiled code in our core engine with the MCJIT-ed ELF+Dwarf but
at least initially we are only aiming for debuggability of the
MCJIT-generated code there. There are probably other issues that we'll
discover as well, hence the desire to open it up to other interested
parties. :)

If you guys have made any progress it'd be great to coordinate, I imagine
things will be quiet over the next week or so but we should be picking up
on this in early January.

Cheers,
Andrew



On Mon, Dec 23, 2013 at 1:17 AM, Tim Holy <tim.holy at gmail.com> wrote:

> Hi Andrew,
>
> I've been lurking on this list for months, hoping to see a message like
> this
> one. It really is Christmas :)
>
> Over at the Julia project (http://julialang.org/), we're in need of a good
> debugger. Is your project in a public repository? If so, would you be
> willing
> to point to a branch or series of commits that shows how far along you are?
>
> I agree it would be great to see LLDB support this use case.
>
> Best,
> --Tim
>
> On Friday, December 20, 2013 05:20:32 PM Andrew MacPherson wrote:
> > Hello,
> >
> > We have a project which uses MCJIT to compile code from our KL language
> > with Dwarf debugging info and we're now working on debugger support under
> > Linux and Windows. We have a basic prototype working under both and at
> this
> > point we're thinking it may make sense to integrate what we have into
> LLDB
> > since there are still areas that we need to address that are already
> > addressed in the existing LLDB implementation.
> >
> > My question is around two items, namely JIT support and Windows support
> in
> > LLDB. We would first be looking to target LLDB debugging of MCJIT-ted
> code
> > under Linux and then adding support for Windows. The LLDB site seems to
> > indicate that JIT support is underway and I would be happy to contribute
> to
> > this effort. If it's stalled we could take it up ourselves, I notice a
> post
> > on the list from a couple of years back which could possibly be used as a
> > starting point?
> >
> > The LLDB site also indicates that Windows support is underway, we'd also
> be
> > interested in contributing to this and knowing anything about its current
> > status. It's unclear whether the current plans include implementing
> support
> > for the Windows debugging API as we would require. We could push on this
> > area as well once we have a Linux JIT debugger up and running.
> >
> > Thanks,
> > Andrew
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20131223/bab7a0cc/attachment.html>


More information about the lldb-dev mailing list