diff options
author | Jim Ingham <jingham@apple.com> | 2013-01-26 02:19:28 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2013-01-26 02:19:28 +0000 |
commit | 2995077d8acb87f68b32f4d5369e741ed4d5b6e9 (patch) | |
tree | c04429bb1110eb0d3db090a488fee07b45480ebd /lldb/source/Target/StopInfo.cpp | |
parent | 03c66d3c57b51188f33e7342088a636ae772c37c (diff) | |
download | bcm5719-llvm-2995077d8acb87f68b32f4d5369e741ed4d5b6e9.tar.gz bcm5719-llvm-2995077d8acb87f68b32f4d5369e741ed4d5b6e9.zip |
Add "target.process.stop-on-shared-library-events" setting, and make it work.
Add the ability to give breakpoints a "kind" string, and have the StopInfoBreakpoint
print that in the brief description if set. Also print the kind - if set - in the breakpoint
listing.
Give kinds to a bunch of the internal breakpoints.
We were deleting the Mac OS X dynamic loader breakpoint as though the id we had stored away was
a breakpoint site ID, but in fact it was a breakpoint id, so we never actually deleted it. Fixed that.
llvm-svn: 173555
Diffstat (limited to 'lldb/source/Target/StopInfo.cpp')
-rw-r--r-- | lldb/source/Target/StopInfo.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lldb/source/Target/StopInfo.cpp b/lldb/source/Target/StopInfo.cpp index 3774c510eea..1a7779d4fb9 100644 --- a/lldb/source/Target/StopInfo.cpp +++ b/lldb/source/Target/StopInfo.cpp @@ -206,6 +206,22 @@ public: if (bp_site_sp) { StreamString strm; + // If we have just hit an internal breakpoint, and it has a kind description, print that instead of the + // full breakpoint printing: + if (bp_site_sp->IsInternal()) + { + size_t num_owners = bp_site_sp->GetNumberOfOwners(); + for (size_t idx = 0; idx < num_owners; idx++) + { + const char *kind = bp_site_sp->GetOwnerAtIndex(idx)->GetBreakpoint().GetBreakpointKind(); + if (kind != NULL) + { + m_description.assign (kind); + return kind; + } + } + } + strm.Printf("breakpoint "); bp_site_sp->GetDescription(&strm, eDescriptionLevelBrief); m_description.swap (strm.GetString()); |