Hi Richard,

 

Thank you for digging down the detail for this problem. 

Hope this problem could be fixed soon.

 

Yes, we are porting our debugger GUI for GDB to support

lldb. Its existing framework is based on capturing output. 

I am writing some python commands to create a bridge to 

generate parser friendly output. I am working feature

by feature. I hope this way can  work for all features.

 

Thanks,

 

Yin 

 

From: Richard Mitton [mailto:[email protected]] 
Sent: Friday, October 04, 2013 10:21 AM
To: [email protected]
Cc: Yin Ma; [email protected]
Subject: Re: [lldb-dev] Different Behavior between Terminal and GUI simulated 
terminal

 

I've noticed this same bug myself, and actually spent a while this week trying 
to fix it (with no luck).

The problem is simply a threading race condition, which manifests sometimes. 
You can usually (on Linux at least) trigger it by just doing a 'run' repeatedly 
until it happens.

It's because the process's input reader is created asynchronously on a thread, 
so isn't guaranteed to be at the top of the input stack at the time the 'run' 
command has finished. So the driver may or may not try to refresh the prompt.

I don't have a fix for this I'm afraid.

Also, regarding the original problem, it sounds to me like you're trying to 
capture the lldb output so you can build a debugger interface on top (like GDB 
interfaces often work). For what it's worth, this is a really bad idea. lldb 
has a C++ and Python API which are much better suited for that kind of thing. 

-- 
Richard Mitton
[email protected]






 <mailto:[email protected]> [email protected]

Friday, October 04, 2013 8:41 AM

Did you launch the two processes in the same way in both cases? It looks like 
in the first instance lldb is running synchronously, and in the second instance 
asynchronously. I sent a note to the list a couple of days ago describing when 
lldb uses the two modes, check that and see if it explains what you are seeing. 
Otherwise, this may be some bug in the input driver?

Jim



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



 <mailto:[email protected]> Yin Ma

Thursday, October 03, 2013 11:30 PM

Hi,

 

I got different behavior between run lldb under regular terminal

And GUI simulated terminal (posix_openpt or pipe based).

 

In the regular terminal:

(lldb) run

Process 10992 launched: ‘…’

Process 10992 stopped

 Thread …

 

In the GUI, If I run the same thing, I got

(lldb) run

Process 10992 launched: ‘…’

(lldb) Process 10992 stopped

 Thread …

 

There already is (lldb) after the first line.

 

My lldb is 179.5

Could anybody let me know why there is this difference? 

And How to switch to the regular mode?

 

Thanks,

 

Yin 

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

<<image001.jpg>>

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

Reply via email to