@@ -131,7 +131,7 @@ def dump_symbolicated(self, crash_log, options):
131
131
if line_entry .IsValid ():
132
132
strm = lldb .SBStream ()
133
133
if line_entry :
134
- lldb .debugger .GetSourceManager ().DisplaySourceLinesWithLineNumbers (
134
+ crash_log .debugger .GetSourceManager ().DisplaySourceLinesWithLineNumbers (
135
135
line_entry .file , line_entry .line , source_context , source_context , "->" , strm )
136
136
source_text = strm .GetData ()
137
137
if source_text :
@@ -310,9 +310,9 @@ def locate_module_and_debug_symbols(self):
310
310
self .unavailable = True
311
311
return False
312
312
313
- def __init__ (self , path , verbose ):
313
+ def __init__ (self , debugger , path , verbose ):
314
314
"""CrashLog constructor that take a path to a darwin crash log file"""
315
- symbolication .Symbolicator .__init__ (self )
315
+ symbolication .Symbolicator .__init__ (self , debugger )
316
316
self .path = os .path .expanduser (path )
317
317
self .info_lines = list ()
318
318
self .system_profile = list ()
@@ -360,12 +360,12 @@ def create_target(self):
360
360
for ident in self .idents :
361
361
image = self .find_image_with_identifier (ident )
362
362
if image :
363
- self .target = image .create_target ()
363
+ self .target = image .create_target (self . debugger )
364
364
if self .target :
365
365
return self .target # success
366
366
print ('crashlog.create_target()...3' )
367
367
for image in self .images :
368
- self .target = image .create_target ()
368
+ self .target = image .create_target (self . debugger )
369
369
if self .target :
370
370
return self .target # success
371
371
print ('crashlog.create_target()...4' )
@@ -411,12 +411,12 @@ class CrashLogParser:
411
411
)
412
412
413
413
414
- def __init__ (self , path , verbose ):
414
+ def __init__ (self , debugger , path , verbose ):
415
415
self .path = os .path .expanduser (path )
416
416
self .verbose = verbose
417
417
self .thread = None
418
418
self .app_specific_backtrace = False
419
- self .crashlog = CrashLog (self .path , self .verbose )
419
+ self .crashlog = CrashLog (debugger , self .path , self .verbose )
420
420
self .parse_mode = CrashLogParseMode .NORMAL
421
421
self .parsers = {
422
422
CrashLogParseMode .NORMAL : self .parse_normal ,
@@ -711,7 +711,7 @@ def do_image(self, line):
711
711
return False
712
712
713
713
714
- def interactive_crashlogs (options , args ):
714
+ def interactive_crashlogs (debugger , options , args ):
715
715
crash_log_files = list ()
716
716
for arg in args :
717
717
for resolved_path in glob .glob (arg ):
@@ -720,7 +720,7 @@ def interactive_crashlogs(options, args):
720
720
crash_logs = list ()
721
721
for crash_log_file in crash_log_files :
722
722
try :
723
- crash_log = CrashLogParser (crash_log_file , options .verbose ).parse ()
723
+ crash_log = CrashLogParser (debugger , crash_log_file , options .verbose ).parse ()
724
724
except Exception as e :
725
725
print (e )
726
726
continue
@@ -848,7 +848,7 @@ def save_crashlog(debugger, command, exe_ctx, result, dict):
848
848
849
849
def Symbolicate (debugger , command , result , dict ):
850
850
try :
851
- SymbolicateCrashLogs (shlex .split (command ))
851
+ SymbolicateCrashLogs (debugger , shlex .split (command ))
852
852
except Exception as e :
853
853
result .PutCString ("error: python exception: %s" % e )
854
854
@@ -1024,7 +1024,7 @@ def CreateSymbolicateCrashLogOptions(
1024
1024
return option_parser
1025
1025
1026
1026
1027
- def SymbolicateCrashLogs (command_args ):
1027
+ def SymbolicateCrashLogs (debugger , command_args ):
1028
1028
description = '''Symbolicate one or more darwin crash log files to provide source file and line information,
1029
1029
inlined stack frames back to the concrete functions, and disassemble the location of the crash
1030
1030
for the first frame of the crashed thread.
@@ -1052,17 +1052,17 @@ def SymbolicateCrashLogs(command_args):
1052
1052
1053
1053
if args :
1054
1054
if options .interactive :
1055
- interactive_crashlogs (options , args )
1055
+ interactive_crashlogs (debugger , options , args )
1056
1056
else :
1057
1057
for crash_log_file in args :
1058
- crash_log_parser = CrashLogParser (crash_log_file , options .verbose )
1058
+ crash_log_parser = CrashLogParser (debugger , crash_log_file , options .verbose )
1059
1059
crash_log = crash_log_parser .parse ()
1060
1060
SymbolicateCrashLog (crash_log , options )
1061
1061
if __name__ == '__main__' :
1062
1062
# Create a new debugger instance
1063
- lldb . debugger = lldb .SBDebugger .Create ()
1064
- SymbolicateCrashLogs (sys .argv [1 :])
1065
- lldb .SBDebugger .Destroy (lldb . debugger )
1063
+ debugger = lldb .SBDebugger .Create ()
1064
+ SymbolicateCrashLogs (debugger , sys .argv [1 :])
1065
+ lldb .SBDebugger .Destroy (debugger )
1066
1066
elif getattr (lldb , 'debugger' , None ):
1067
1067
lldb .debugger .HandleCommand (
1068
1068
'command script add -f lldb.macosx.crashlog.Symbolicate crashlog' )
0 commit comments