[lldb-dev] Different Behavior between Terminal and GUI simulated terminal
Yin Ma
yin at affinic.com
Fri Oct 4 11:08:31 PDT 2013
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:richard at codersnotes.com]
Sent: Friday, October 04, 2013 10:21 AM
To: jingham at apple.com
Cc: Yin Ma; lldb-dev at cs.uiuc.edu
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
richard at codersnotes.com
<mailto:jingham at apple.com> jingham at apple.com
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
lldb-dev at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
<mailto:yin at affinic.com> 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
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/20131004/91acbc28/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 770 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20131004/91acbc28/attachment.jpg>
More information about the lldb-dev
mailing list