<div><div dir="auto">It might be worth brainstorming if there’s ways to do this that are both intuitive and don’t require more options. As a command line user, I really value my keystrokes. </div><div dir="auto"><br></div><div dir="auto">One idea would be to use a syntax that matches that of the ‘-name’ option to the standard ‘find’ utility. This way filename pattern matching would work in a way familiar to almost everyone, no sb api options would need to be added.</div></div><div dir="auto"><br></div><div dir="auto"><br></div><div><div><br><div class="gmail_quote"><div>On Mon, Oct 23, 2017 at 6:25 PM Jim Ingham via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yeah, that would be easy to implement from the command line, maybe add a --file-is-regex flag or something.<br>
<br>
>From the SB API it would be better to have something like:<br>
<br>
SBFileList SBTarget.GetFileListMatchingRegex("regex")<br>
<br>
Please file an enhancement request for these of hack'em in if you're so motivated.<br>
<br>
Jim<br>
<br>
<br>
> On Oct 23, 2017, at 6:13 PM, Don Hinton <<a href="mailto:hintonda@gmail.com" target="_blank">hintonda@gmail.com</a>> wrote:<br>
><br>
> Ah, great, thanks. I just figured the default was the same for both.<br>
><br>
> Just wish I could use a regex for the filename as well, which would cut down the number of files about about half.<br>
><br>
> thanks again...<br>
> don<br>
><br>
> On Mon, Oct 23, 2017 at 6:02 PM, Jim Ingham <<a href="mailto:jingham@apple.com" target="_blank">jingham@apple.com</a>> wrote:<br>
> Just pass an invalid FileSpec for the source file spec, like:<br>
><br>
> lldb.target.BreakpointCreateBySourceRegex("printf", lldb.SBFileSpec())<br>
><br>
> and it acts the same way as the --all-files option. That was pretty non-obvious, I'll update the docs.<br>
><br>
> Actually, the thing you CAN'T do is get the command line behavior where lldb uses the "default file" i.e. when you run "break set -p" but don't supply a file or the --all-files option. That seemed to me less useful for a programming interface since the default file is history dependent (it's the file with "main" in it before you run, then it's where you last set a breakpoint, or where you last stopped, etc.) If you needed this behavior it would be better to have the target vend the default file, though right now that's really only maintained by the breakpoint command...<br>
><br>
> Jim<br>
><br>
><br>
> > On Oct 23, 2017, at 5:31 PM, Don Hinton via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>> wrote:<br>
> ><br>
> > The only way I've been able to do it is by using the CommandInterpreter, i.e.,<br>
> ><br>
> > res = lldb.SBCommandReturnObject()<br>
> > lldb.debugger.GetCommandInterpreter().HandleCommand('breakpoint set -p "diag::%s" --all-files -N %s' % (name, name), res);<br>
> > lldb.debugger.GetCommandInterpreter().HandleCommand('breakpoint disable %s' % name, res);<br>
> ><br>
> > Is this the best way to do it? Can't seem to figure out how to use SBTarget.BreakpointCreateBySourceRegex() for all files.<br>
> ><br>
> > thanks...<br>
> > don<br>
> > _______________________________________________<br>
> > lldb-dev mailing list<br>
> > <a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
><br>
><br>
<br>
_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
</blockquote></div></div></div>