Debugger: Pass symbol file to LLDB and use it

Instead of guessing from the executable.

Change-Id: I5f57020446bc5e0f7915dac487a32d673eb97952
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2020-04-02 17:58:24 +02:00
parent 83ed1e3a7c
commit 80f3f34c96
2 changed files with 4 additions and 3 deletions

View File

@@ -111,6 +111,7 @@ class Dumper(DumperBase):
self.runEngineAttempted = False
self.executable_ = None
self.symbolFile_ = None
self.startMode_ = None
self.processArgs_ = None
self.attachPid_ = None
@@ -857,6 +858,7 @@ class Dumper(DumperBase):
self.remoteChannel_ = args.get('remotechannel', '')
self.platform_ = args.get('platform', '')
self.nativeMixed = int(args.get('nativemixed', 0))
self.symbolFile_ = args['symbolfile'];
self.workingDirectory_ = args.get('workingdirectory', '')
if self.workingDirectory_ == '':
try:
@@ -878,10 +880,8 @@ class Dumper(DumperBase):
if self.sysRoot_:
self.debugger.SetCurrentPlatformSDKRoot(self.sysRoot_)
exefile = None if self.attachPid_ > 0 else self.executable_
self.target = self.debugger.CreateTarget(
exefile, None, self.platform_, True, error)
self.symbolFile_, None, self.platform_, True, error)
if not error.Success():
self.report(self.describeError(error))

View File

@@ -279,6 +279,7 @@ void LldbEngine::setupEngine()
cmd2.arg("environment", rp.inferior.environment.toStringList());
cmd2.arg("processargs", toHex(QtcProcess::splitArgs(rp.inferior.commandLineArguments).join(QChar(0))));
cmd2.arg("platform", rp.platform);
cmd2.arg("symbolfile", rp.symbolFile);
if (terminal()) {
const qint64 attachedPID = terminal()->applicationPid();