On Sep 28, 2010, at 4:42 AM, [email protected] wrote:

> I think,I need some help getting the linux process plugin working. Getting it 
> compiling was easy so far, but it won't work, 
> and for me its not easy too see how its supposed to work either.
> First of all, why does it run the inferior in a pty? I don't see why we would 
> need an entire terminal there.

On MacOSX we hand a pty to our inferior using posix_spawn file attributes and 
we run a single read thread to watch for the input. We use a pty by default to 
stay as close to what would be run in a terminal. You can specify the file 
handles you want the inferior to use in process launch:

process launch --stdin /dev/null --stdout /dev/null --stderr /dev/null ....

> Secondly, why is there one thread per fd afterwards?

Not sure why linux would be running three threads.

> Basicly it does pretty much nothing:
> (lldb) r
> Launching '/tmp/crashd/a.out'  (x86_64)
> (lldb) 
> it randomly works after a few times, but only results in a visible effect 
> when the inferior crashes.
> It then tries to send a message to the crashed process, which crashes lldb. 
> There is a FIXME in there, 
> but why is this on a seperate thread in the first place?

Eli Friedman was the person leading the linux port, so I will have to defer 
linux questions to him.

I believe the linux plug-in also needs to get a DynamicLoader plug-in created 
for it at some point so that shared library loads/unloads can be detected and 
breakpoints in shared libraries will work.

You can see all of the logging that you can enable:

(lldb) log list

Each plug-in that is installed can install named logged channels that can have 
multiple categories. 

There is a lot of internal logging you can enable to see what might be going on:

(lldb) log enable lldb default

Then try and run and see if you see anything obvious. The linux plug-in should 
add its own logging channel so the details of the debug session can be logged 
when things go wrong.

Greg Clayton
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to