[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnustep on FreeBSD and how to use the debugger
From: |
David Chisnall |
Subject: |
Re: gnustep on FreeBSD and how to use the debugger |
Date: |
Fri, 1 Sep 2017 10:02:42 +0100 |
On 1 Sep 2017, at 02:22, Gregory Casamento <address@hidden> wrote:
>
> I'm not sure that lldb works all that well with ObjC on non-darwin operating
> systems at this point.
I’ve had a look at the code, and it doesn’t look like it would be too
complicated to add. There are three parts:
- Objective-C introspection
- Objective-C code execution
- GNUstep support
The core Objective-C part is quite abstracted (Apple uses lldb with two very
different Objective-C runtime implementations, so that’s not entirely
surprising). I’m not sure I’ll have time to work on it soon, but providing a
new ObjCLanguageRuntime subclass that pokes the GNUstep runtime for status
should be relatively easy.
The next part requires constructing Clang Objective-C AST nodes based on
information in the runtime. This is not difficult, but it’s quite a bit bigger.
The final bit is a bit harder. LLDB includes a load of stuff for
pretty-printing various Cocoa types. This isn’t currently abstracted into
platform-specific versions, because Apple only has one implementation of this.
We’d need to add some abstraction there. It’s probably not too difficult,
because the code is all in a plugin, so we could just load a GNUstep plugin
instead of the Apple one.
David