forked from qt-creator/qt-creator
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:
@@ -111,6 +111,7 @@ class Dumper(DumperBase):
|
|||||||
self.runEngineAttempted = False
|
self.runEngineAttempted = False
|
||||||
|
|
||||||
self.executable_ = None
|
self.executable_ = None
|
||||||
|
self.symbolFile_ = None
|
||||||
self.startMode_ = None
|
self.startMode_ = None
|
||||||
self.processArgs_ = None
|
self.processArgs_ = None
|
||||||
self.attachPid_ = None
|
self.attachPid_ = None
|
||||||
@@ -857,6 +858,7 @@ class Dumper(DumperBase):
|
|||||||
self.remoteChannel_ = args.get('remotechannel', '')
|
self.remoteChannel_ = args.get('remotechannel', '')
|
||||||
self.platform_ = args.get('platform', '')
|
self.platform_ = args.get('platform', '')
|
||||||
self.nativeMixed = int(args.get('nativemixed', 0))
|
self.nativeMixed = int(args.get('nativemixed', 0))
|
||||||
|
self.symbolFile_ = args['symbolfile'];
|
||||||
self.workingDirectory_ = args.get('workingdirectory', '')
|
self.workingDirectory_ = args.get('workingdirectory', '')
|
||||||
if self.workingDirectory_ == '':
|
if self.workingDirectory_ == '':
|
||||||
try:
|
try:
|
||||||
@@ -878,10 +880,8 @@ class Dumper(DumperBase):
|
|||||||
if self.sysRoot_:
|
if self.sysRoot_:
|
||||||
self.debugger.SetCurrentPlatformSDKRoot(self.sysRoot_)
|
self.debugger.SetCurrentPlatformSDKRoot(self.sysRoot_)
|
||||||
|
|
||||||
exefile = None if self.attachPid_ > 0 else self.executable_
|
|
||||||
|
|
||||||
self.target = self.debugger.CreateTarget(
|
self.target = self.debugger.CreateTarget(
|
||||||
exefile, None, self.platform_, True, error)
|
self.symbolFile_, None, self.platform_, True, error)
|
||||||
|
|
||||||
if not error.Success():
|
if not error.Success():
|
||||||
self.report(self.describeError(error))
|
self.report(self.describeError(error))
|
||||||
|
@@ -279,6 +279,7 @@ void LldbEngine::setupEngine()
|
|||||||
cmd2.arg("environment", rp.inferior.environment.toStringList());
|
cmd2.arg("environment", rp.inferior.environment.toStringList());
|
||||||
cmd2.arg("processargs", toHex(QtcProcess::splitArgs(rp.inferior.commandLineArguments).join(QChar(0))));
|
cmd2.arg("processargs", toHex(QtcProcess::splitArgs(rp.inferior.commandLineArguments).join(QChar(0))));
|
||||||
cmd2.arg("platform", rp.platform);
|
cmd2.arg("platform", rp.platform);
|
||||||
|
cmd2.arg("symbolfile", rp.symbolFile);
|
||||||
|
|
||||||
if (terminal()) {
|
if (terminal()) {
|
||||||
const qint64 attachedPID = terminal()->applicationPid();
|
const qint64 attachedPID = terminal()->applicationPid();
|
||||||
|
Reference in New Issue
Block a user