Yes, you aren't checking if the process state. See the python example in the SVN repository:
svn cat http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/process_events.py It does the process events correctly and should serve as a great starting point for you. On Mar 17, 2014, at 9:29 AM, Hikaru Gosun <[email protected]> wrote: > Hi, > > I have a small script to debug a program in OSX that looks more or less like > this: > > debugger = lldb.SBDebugger.Create() > target = debugger.CreateTargetWithFileAndArch(exe, > lldb.LLDB_ARCH_DEFAULT_64BIT) > launch_info = lldb.SBLaunchInfo(args) > launch_info.SetLaunchFlags(lldb.eLaunchFlagNone) > error = lldb.SBError() > process = target.Launch(launch_info, error) > if not error.Success(): > print args, str(error) > return > > listener = lldb.SBListener("event_listener") > process.GetBroadcaster().AddListener(listener, > lldb.SBProcess.eBroadcastBitStateChanged) > done = 0 > while not done: > event = lldb.SBEvent() > if listener.WaitForEvent(10, event): > state = lldb.SBProcess.GetStateFromEvent(event) > print state > for thread in process: > print thread, thread.GetFrameAtIndex(0) > process.Continue() > else: > done = 1 > > My intention is to debug the target with some kind of timeout, that's why I'm > trying to use the async mode and use the timeout in WaitForEvent(). The > problem that I'm facing is that once WaitForEvent() succeeds, there's no way > I can get access to the thread information (for example to get frame info for > each thread). This is the output from the script: > > 5 > SBThread: tid = 0x2b9672 No value > SBThread: tid = 0x2b9686 No value > SBThread: tid = 0x2b9687 No value > SBThread: tid = 0x2b9689 No value > SBThread: tid = 0x2b968a No value > SBThread: tid = 0x2b96be No value > SBThread: tid = 0x2b96bf No value > SBThread: tid = 0x2b96c0 No value > > This is for the lldb version that comes with XCode (lldb-300.2.53) > > Any ideas? Is there anything wrong with my approach? > > Thanks, > HG > _______________________________________________ > lldb-dev mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
