Add a little twist to the disasm.py script so that it is possible to terminate the inferior process
by entering 'Ctrl-D' or 'quit'.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132088 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/examples/python/disasm.py b/examples/python/disasm.py
index 9dd2b74..4c4e2d7 100755
--- a/examples/python/disasm.py
+++ b/examples/python/disasm.py
@@ -11,7 +11,7 @@
import lldb
import os
import sys
-import time
+import signal
def disassemble_instructions (insts):
for i in insts:
@@ -81,12 +81,17 @@
for child in value:
print "Name: ", child.GetName(), " Value: ", child.GetValue(frame)
- print "Hit the breakpoint at main, continue and wait for program to exit..."
- # Now continue to the program exit
- process.Continue()
- # When we return from the above function we will hopefully be at the
- # program exit. Print out some process info
- print process
+ print "Hit the breakpoint at main, enter to continue and wait for program to exit or 'Ctrl-D'/'quit' to terminate the program"
+ next = sys.stdin.readline()
+ if not next or next.rstrip('\n') == 'quit':
+ print "Terminating the inferior process..."
+ process.Kill()
+ else:
+ # Now continue to the program exit
+ process.Continue()
+ # When we return from the above function we will hopefully be at the
+ # program exit. Print out some process info
+ print process
elif state == lldb.eStateExited:
print "Didn't hit the breakpoint at main, program has exited..."
else: