[lldb-dev] Call python script on stop?
gclayton at apple.com
Tue Sep 9 17:07:47 PDT 2014
You would use two python threads.
Info on python threads:
You would make one thread run your command prompt code, and one thread just consuming events. You would make a function in python:
And the code inside lldb_event_thread would be consuming the events (copy code from process_events.py).
You actually might want 3 thread:
1 - main thread that waits for anything from the two other threads
2 - command prompt thread
3 - event thread
> On Sep 9, 2014, at 4:43 PM, Ted Woodward <ted.woodward at codeaurora.org> wrote:
> Can I do that from inside lldb, or are we talking another python process? If inside lldb, how do I do that?
> -----Original Message-----
> From: Greg Clayton [mailto:gclayton at apple.com]
> Sent: Tuesday, September 09, 2014 6:35 PM
> To: Ted Woodward
> Cc: Jim Ingham; lldb-dev at cs.uiuc.edu
> Subject: Re: [lldb-dev] Call python script on stop?
> You will need to launch another python thread, and in that thread, handle all events just like the process_events.py script.
>> On Sep 9, 2014, at 4:31 PM, Ted Woodward <ted.woodward at codeaurora.org> wrote:
>> Is there a way to launch another lldb thread, so I have the command prompt and a python script running at the same time?
>> -----Original Message-----
>> From: jingham at apple.com [mailto:jingham at apple.com]
>> Sent: Tuesday, September 09, 2014 5:38 PM
>> To: Greg Clayton
>> Cc: Ted Woodward; lldb-dev at cs.uiuc.edu
>> Subject: Re: [lldb-dev] Call python script on stop?
>> Yes, you definitely want to handle events yourself. The target stop hooks are fine for printing some variables and threads, etc, but I wouldn't try to update your GUI, etc, from there.
>>> On Sep 9, 2014, at 3:22 PM, Greg Clayton <gclayton at apple.com> wrote:
>>>> On Sep 9, 2014, at 1:36 PM, Ted Woodward <ted.woodward at codeaurora.org> wrote:
>>>> I’m working on a simple python gui proof-of-concept. I’m going to use the Tkinter module to open a Tk window that displays registers. I’d like to have it auto-update when the target stops.
>>>> Is there a way to automatically call a python script when a target stops, and to call another (to clean up) when the target is killed?
>>> Why not just consume the events yourself?
>>> See the following sample python code:
>>> svn cat http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/process_events.py
>>> There is a "target stop-hook" command you could use:
>>> (lldb) help target stop-hook
>>> But I would suggest consuming the events on another thread from python, or just making a polling loop where you want for events for a specified amount of time.
>>> lldb-dev mailing list
>>> lldb-dev at cs.uiuc.edu
More information about the lldb-dev