diff options
| author | Jim Ingham <jingham@apple.com> | 2011-09-21 01:17:13 +0000 |
|---|---|---|
| committer | Jim Ingham <jingham@apple.com> | 2011-09-21 01:17:13 +0000 |
| commit | 969795f14bed2c9af7167d0d07b234193c82034c (patch) | |
| tree | 2e4f23507b807790ac4806cb0957929194947afb /lldb/source/Breakpoint/BreakpointResolverFileLine.cpp | |
| parent | 699128e58af0015061f2da8477261aef6464dca9 (diff) | |
| download | bcm5719-llvm-969795f14bed2c9af7167d0d07b234193c82034c.tar.gz bcm5719-llvm-969795f14bed2c9af7167d0d07b234193c82034c.zip | |
Add a new breakpoint type "break by source regular expression".
Fix the RegularExpression class so it has a real copy constructor.
Fix the breakpoint setting with multiple shared libraries so it makes
one breakpoint not one per shared library.
Add SBFileSpecList, to be used to expose the above to the SB interface (not done yet.)
llvm-svn: 140225
Diffstat (limited to 'lldb/source/Breakpoint/BreakpointResolverFileLine.cpp')
| -rw-r--r-- | lldb/source/Breakpoint/BreakpointResolverFileLine.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp b/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp index 13eda3c5d64..224dd158f67 100644 --- a/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp +++ b/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp @@ -67,12 +67,22 @@ BreakpointResolverFileLine::SearchCallback Address line_start = sc.line_entry.range.GetBaseAddress(); if (line_start.IsValid()) { - BreakpointLocationSP bp_loc_sp (m_breakpoint->AddLocation(line_start)); - if (log && bp_loc_sp && !m_breakpoint->IsInternal()) + if (filter.AddressPasses(line_start)) { - StreamString s; - bp_loc_sp->GetDescription (&s, lldb::eDescriptionLevelVerbose); - log->Printf ("Added location: %s\n", s.GetData()); + BreakpointLocationSP bp_loc_sp (m_breakpoint->AddLocation(line_start)); + if (log && bp_loc_sp && !m_breakpoint->IsInternal()) + { + StreamString s; + bp_loc_sp->GetDescription (&s, lldb::eDescriptionLevelVerbose); + log->Printf ("Added location: %s\n", s.GetData()); + } + } + else if (log) + { + log->Printf ("Breakpoint at file address 0x%llx for %s:%d didn't pass the filter.\n", + line_start.GetFileAddress(), + m_file_spec.GetFilename().AsCString("<Unknown>"), + m_line_number); } } else |

