Hi all,
I just pushed the new linux process plugin. A few notes:
I updated the makefiles to build only under linux. I do not know if
this will build on a mac. Perhaps someone can try and let me know the
result.
Only very basic breakpoint/step-over functionality is present. For
example, we cannot resolve pending breakpoints yet, so one must set
breakpoints with the debugee stopped on entry.
Only x86_64 at the moment (will add i386 soon).
Here is a simple example of what is working for those who might like to
test it out:
A very small patch which should help building on Darwin:
Index: lib/Makefile
The previous patch will allow lldb to finish building. However, on 10.5, I get a linker error at startup time. It’s missing source/Plugins/Process/MacOSX-User in lldb.dylib. However, at least on my machine, that subdirectory needs some work to properly compile.
Index: source/Plugins/Makefile
Hi William,
Thanks so much for testing! Very much appreciated!
Applied both patches as r109327.
Take care,
Steve
William Lynch <wlynch@wlynch.cx> writes:
You missed part of the patch. 
Index: lib/Makefile
William Lynch <wlynch@wlynch.cx> writes:
You missed part of the patch. 
So I did
Committed r109328.
Thanks again!
Hi all,
I just pushed the new linux process plugin. A few notes:
I updated the makefiles to build only under linux. I do not know if
this will build on a mac. Perhaps someone can try and let me know the
result.
Only very basic breakpoint/step-over functionality is present.
Great start though, it should be easy to add new functionality very quickly now.
For
example, we cannot resolve pending breakpoints yet, so one must set
breakpoints with the debugee stopped on entry.
This stems from the dynamic loader plug-in not being implemented. The dynamic loader is responsible for synchronously letting the Process know when shared libraries are loaded/unloaded. On Mac OS X this is done by setting a breakpoint at a specific dyld location, adding a breakpoint function callback to that breakpoint that will be called when the breakpoint gets hit. The breakpoint callback then notifies that new shared libraries are loaded/unloaded, the returns "false" from to indicate that the target should resume without any notifications going out that would let any UI or command line know that the process stopped.