forked from OSchip/llvm-project
Fixed some issues with symbolicating things. Fixed symbolication.add_module() to not use the resolved_path before we have tried to locate it. Fixed crashlog.locate_module_and_debug_symbols() to return true and false correctly.
llvm-svn: 155255
This commit is contained in:
parent
b4e849b924
commit
f99295c3a6
|
@ -114,7 +114,7 @@ class CrashLog(symbolication.Symbolicator):
|
|||
def locate_module_and_debug_symbols(self):
|
||||
if self.resolved_path:
|
||||
# Don't load a module twice...
|
||||
return 0
|
||||
return True
|
||||
print 'Locating %s %s...' % (self.uuid, self.path),
|
||||
if os.path.exists(self.dsymForUUIDBinary):
|
||||
dsym_for_uuid_command = '%s %s' % (self.dsymForUUIDBinary, self.uuid)
|
||||
|
@ -144,16 +144,15 @@ class CrashLog(symbolication.Symbolicator):
|
|||
break;
|
||||
if not self.resolved_path:
|
||||
print "error: file %s '%s' doesn't match the UUID in the installed file" % (self.uuid, self.path)
|
||||
return 0
|
||||
return False
|
||||
if (self.resolved_path and os.path.exists(self.resolved_path)) or (self.path and os.path.exists(self.path)):
|
||||
print 'ok'
|
||||
if self.path != self.resolved_path:
|
||||
if self.resolved_path:
|
||||
print ' exe = "%s"' % self.resolved_path
|
||||
if self.symfile:
|
||||
print ' dsym = "%s"' % self.symfile
|
||||
return 1
|
||||
else:
|
||||
return 0
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -282,17 +282,16 @@ class Image:
|
|||
def add_module(self, target):
|
||||
'''Add the Image described in this object to "target" and load the sections if "load" is True.'''
|
||||
if target:
|
||||
resolved_path = self.get_resolved_path();
|
||||
# Try and find using UUID only first so that paths need not match up
|
||||
if self.uuid:
|
||||
self.module = target.AddModule (None, None, str(self.uuid))
|
||||
if not self.module:
|
||||
if self.locate_module_and_debug_symbols ():
|
||||
path_spec = lldb.SBFileSpec (resolved_path)
|
||||
#print 'target.AddModule (path="%s", arch="%s", uuid=%s)' % (resolved_path, self.arch, self.uuid)
|
||||
self.module = target.AddModule (resolved_path, self.arch, self.uuid)
|
||||
self.locate_module_and_debug_symbols ()
|
||||
resolved_path = self.get_resolved_path()
|
||||
print 'target.AddModule (path="%s", arch="%s", uuid=%s, symfile="%s")' % (resolved_path, self.arch, self.uuid, self.symfile)
|
||||
self.module = target.AddModule (resolved_path, self.arch, self.uuid)#, self.symfile)
|
||||
if not self.module:
|
||||
return 'error: unable to get module for (%s) "%s"' % (self.arch, resolved_path)
|
||||
return 'error: unable to get module for (%s) "%s"' % (self.arch, self.get_resolved_path())
|
||||
if self.has_section_load_info():
|
||||
return self.load_module(target)
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue