aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-02-28 13:03:21 +0100
committerhjk <hjk121@nokiamail.com>2014-02-28 13:33:49 +0100
commit880a834b119dc7b25cc64c7b7a381e9a43aa6bf4 (patch)
treea5e0c9d8a5dfbca51e3982988a56eb2592701f37 /share
parente0272aefd8bcf1be3c3b00a9c5e4fc11cf1891e0 (diff)
Debugger: Add start with step-into for LLDB
Task-number: QTCREATORBUG-11596 Change-Id: I4561d74524b70bc81345ab9beb60ec7242045509 Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Diffstat (limited to 'share')
-rw-r--r--share/qtcreator/debugger/lldbbridge.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index 464c14c076..c8a597724b 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -659,6 +659,7 @@ class Dumper(DumperBase):
self.executable_ = args['executable']
self.startMode_ = args.get('startMode', 1)
+ self.breakOnMain_ = args.get('breakOnMain', 0)
self.processArgs_ = args.get('processArgs', [])
self.processArgs_ = map(lambda x: self.hexdecode(x), self.processArgs_)
self.attachPid_ = args.get('attachPid', 0)
@@ -716,6 +717,8 @@ class Dumper(DumperBase):
launchInfo.SetWorkingDirectory(os.getcwd())
environmentList = [key + "=" + value for key,value in os.environ.items()]
launchInfo.SetEnvironmentEntries(environmentList, False)
+ if self.breakOnMain_:
+ self.createBreakpointAtMain()
self.process = self.target.Launch(launchInfo, error)
if not error.Success():
self.reportError(error)
@@ -1323,6 +1326,10 @@ class Dumper(DumperBase):
result += '],'
return result
+ def createBreakpointAtMain(self):
+ return self.target.BreakpointCreateByName(
+ "main", self.target.GetExecutable().GetFilename())
+
def addBreakpoint(self, args):
bpType = args["type"]
if bpType == BreakpointByFileAndLine:
@@ -1333,8 +1340,7 @@ class Dumper(DumperBase):
elif bpType == BreakpointByAddress:
bpNew = self.target.BreakpointCreateByAddress(args["address"])
elif bpType == BreakpointAtMain:
- bpNew = self.target.BreakpointCreateByName(
- "main", self.target.GetExecutable().GetFilename())
+ bpNew = self.createBreakpointAtMain()
elif bpType == BreakpointByFunction:
bpNew = self.target.BreakpointCreateByName(args["function"])
elif bpType == BreakpointAtThrow: