Put a try/catch block around the SBAddress setting; don't want to
terminate the command early if we happen to have an invalid load
address.
llvm-svn: 180826
diff --git a/lldb/examples/python/diagnose_unwind.py b/lldb/examples/python/diagnose_unwind.py
index 1e182e2..4dc20a5 100644
--- a/lldb/examples/python/diagnose_unwind.py
+++ b/lldb/examples/python/diagnose_unwind.py
@@ -17,19 +17,22 @@
addr = addr - 1
sbaddr = lldb.SBAddress()
- sbaddr.SetLoadAddress(addr, target)
- module_description = ""
- if sbaddr.GetModule():
- module_filename = ""
- module_uuid_str = sbaddr.GetModule().GetUUIDString()
- if module_uuid_str == None:
- module_uuid_str = ""
- if sbaddr.GetModule().GetFileSpec():
- module_filename = sbaddr.GetModule().GetFileSpec().GetFilename()
- if module_filename == None:
- module_filename = ""
- if module_uuid_str != "" or module_filename != "":
- module_description = '%s %s' % (module_filename, module_uuid_str)
+ try:
+ sbaddr.SetLoadAddress(addr, target)
+ module_description = ""
+ if sbaddr.GetModule():
+ module_filename = ""
+ module_uuid_str = sbaddr.GetModule().GetUUIDString()
+ if module_uuid_str == None:
+ module_uuid_str = ""
+ if sbaddr.GetModule().GetFileSpec():
+ module_filename = sbaddr.GetModule().GetFileSpec().GetFilename()
+ if module_filename == None:
+ module_filename = ""
+ if module_uuid_str != "" or module_filename != "":
+ module_description = '%s %s' % (module_filename, module_uuid_str)
+ except Exception:
+ return
addr_width = process.GetAddressByteSize() * 2
sym_ctx = target.ResolveSymbolContextForAddress(sbaddr, lldb.eSymbolContextEverything)