diff options
author | hjk <hjk121@nokiamail.com> | 2014-02-28 13:03:21 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-02-28 13:33:49 +0100 |
commit | 880a834b119dc7b25cc64c7b7a381e9a43aa6bf4 (patch) | |
tree | a5e0c9d8a5dfbca51e3982988a56eb2592701f37 /share | |
parent | e0272aefd8bcf1be3c3b00a9c5e4fc11cf1891e0 (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.py | 10 |
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: |