Skip to content

Commit

Permalink
Fix -break-insert for system functions (MI)
Browse files Browse the repository at this point in the history
Summary:
# Fix -break-insert for system functions
# Fix MiExecTestCase to use -break-insert instead of CLI "b"
# Improve MiBreakTestCase: now it uses printf() instead of in-house function

All tests pass on OS X.

Test Plan:
```
$ bin/lldb-mi --interpreter
(gdb)
-file-exec-and-symbols ~/p/hello
^done
(gdb)
=shlibs-added,shlib-info=[num="1",name="hello",dyld-addr="-",reason="dyld",path="/Users/IliaK/p/hello",loaded_addr="-",dsym-objpath="/Users/IliaK/p/hello.dSYM/Contents/Resources/DWARF/hello"]
-break-insert -f printf
^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0xffffffff",func="??",file="??",fullname="??/??",line="0",pending=["printf"],times="0",original-location="printf"}
(gdb)
=breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0xffffffff",func="??",file="??",fullname="??/??",line="0",pending=["printf"],times="0",original-location="printf"}
-exec-run
^running
...
*stopped,reason="breakpoint-hit",disp="del",bkptno="1",frame={addr="0x7fff8a476910",func="printf",args=[],file="??",fullname="??",line="-1"},thread-id="1",stopped-threads="all"
(gdb)
```

Reviewers: abidh, clayborg

Reviewed By: clayborg

Subscribers: lldb-commits, clayborg, abidh

Differential Revision: http://reviews.llvm.org/D8412

llvm-svn: 232734
  • Loading branch information
k15tfu committed Mar 19, 2015
1 parent 8fa8e5f commit 641f027
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 11 deletions.
4 changes: 2 additions & 2 deletions lldb/test/tools/lldb-mi/breakpoint/TestMiBreak.py
Expand Up @@ -21,7 +21,7 @@ def test_lldbmi_break_insert_function_pending(self):
self.runCmd("-file-exec-and-symbols %s" % self.myexe)
self.expect("\^done")

self.runCmd("-break-insert -f g_MyFunction")
self.runCmd("-break-insert -f printf")
self.expect("\^done,bkpt={number=\"1\"")

self.runCmd("-exec-run")
Expand All @@ -46,7 +46,7 @@ def test_lldbmi_break_insert_function(self):
self.expect("\^running")
self.expect("\*stopped,reason=\"breakpoint-hit\"")

self.runCmd("-break-insert g_MyFunction")
self.runCmd("-break-insert printf")
self.expect("\^done,bkpt={number=\"2\"")

self.runCmd("-exec-continue")
Expand Down
7 changes: 2 additions & 5 deletions lldb/test/tools/lldb-mi/breakpoint/main.cpp
Expand Up @@ -7,14 +7,11 @@
//
//===----------------------------------------------------------------------===//

void
g_MyFunction(void)
{
}
#include <cstdio>

int
main(int argc, char const *argv[])
{
g_MyFunction();
printf("");
return 0; // BP_return
}
5 changes: 2 additions & 3 deletions lldb/test/tools/lldb-mi/control/TestMiExec.py
Expand Up @@ -430,9 +430,8 @@ def test_lldbmi_exec_finish(self):
#self.expect("\^error: Frame index 10 is out of range")

# Set BP at printf and run to BP
# FIXME: BP at printf not resolved and never hit!
self.runCmd("-interpreter-exec command \"breakpoint set --name printf\"") #FIXME: self.runCmd("-break-insert -f printf")
self.expect("\^done") #FIXME: self.expect("\^done,bkpt={number=\"3\"")
self.runCmd("-break-insert -f printf")
self.expect("\^done,bkpt={number=\"3\"")
self.runCmd("-exec-continue")
self.expect("\^running")
self.expect("\*stopped,reason=\"breakpoint-hit\"")
Expand Down
2 changes: 1 addition & 1 deletion lldb/tools/lldb-mi/MICmdCmdBreak.cpp
Expand Up @@ -232,7 +232,7 @@ CMICmdCmdBreakInsert::Execute(void)
m_brkPt = sbTarget.BreakpointCreateByLocation(fileName.c_str(), nFileLine);
break;
case eBreakPoint_ByName:
m_brkPt = sbTarget.BreakpointCreateByName(m_brkName.c_str(), sbTarget.GetExecutable().GetFilename());
m_brkPt = sbTarget.BreakpointCreateByName(m_brkName.c_str(), nullptr);
break;
case eBreakPoint_count:
case eBreakPoint_NotDefineYet:
Expand Down

0 comments on commit 641f027

Please sign in to comment.