[lldb-dev] What's the best way to use "--all-files" option from python?

Zachary Turner via lldb-dev lldb-dev at lists.llvm.org
Tue Oct 24 19:24:02 PDT 2017


Pass a pattern to the -f option.

On Tue, Oct 24, 2017 at 7:18 PM Don Hinton <hintonda at gmail.com> wrote:

> Do you mean just pass a pattern to the -f option or FileSpec?
>
> On Tue, Oct 24, 2017 at 6:50 PM, Zachary Turner <zturner at google.com>
> wrote:
>
>> 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.
>>
>> 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.
>>
>>
>>
>> On Mon, Oct 23, 2017 at 6:25 PM Jim Ingham via lldb-dev <
>> lldb-dev at lists.llvm.org> wrote:
>>
>>> Yeah, that would be easy to implement from the command line, maybe add a
>>> --file-is-regex flag or something.
>>>
>>> From the SB API it would be better to have something like:
>>>
>>> SBFileList SBTarget.GetFileListMatchingRegex("regex")
>>>
>>> Please file an enhancement request for these of hack'em in if you're so
>>> motivated.
>>>
>>> Jim
>>>
>>>
>>> > On Oct 23, 2017, at 6:13 PM, Don Hinton <hintonda at gmail.com> wrote:
>>> >
>>> > Ah, great, thanks.  I just figured the default was the same for both.
>>> >
>>> > Just wish I could use a regex for the filename as well, which would
>>> cut down the number of files about about half.
>>> >
>>> > thanks again...
>>> > don
>>> >
>>> > On Mon, Oct 23, 2017 at 6:02 PM, Jim Ingham <jingham at apple.com> wrote:
>>> > Just pass an invalid FileSpec for the source file spec, like:
>>> >
>>> > lldb.target.BreakpointCreateBySourceRegex("printf", lldb.SBFileSpec())
>>> >
>>> > and it acts the same way as the --all-files option.  That was pretty
>>> non-obvious, I'll update the docs.
>>> >
>>> > 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...
>>> >
>>> > Jim
>>> >
>>> >
>>> > > On Oct 23, 2017, at 5:31 PM, Don Hinton via lldb-dev <
>>> lldb-dev at lists.llvm.org> wrote:
>>> > >
>>> > > The only way I've been able to do it is by using the
>>> CommandInterpreter, i.e.,
>>> > >
>>> > >   res = lldb.SBCommandReturnObject()
>>> > >   lldb.debugger.GetCommandInterpreter().HandleCommand('breakpoint
>>> set -p "diag::%s" --all-files -N %s' % (name, name), res);
>>> > >   lldb.debugger.GetCommandInterpreter().HandleCommand('breakpoint
>>> disable %s' % name, res);
>>> > >
>>> > > Is this the best way to do it?  Can't seem to figure out how to use
>>> SBTarget.BreakpointCreateBySourceRegex() for all files.
>>> > >
>>> > > thanks...
>>> > > don
>>> > > _______________________________________________
>>> > > lldb-dev mailing list
>>> > > lldb-dev at lists.llvm.org
>>> > > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>> >
>>> >
>>>
>>> _______________________________________________
>>> lldb-dev mailing list
>>> lldb-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20171025/99e6740b/attachment.html>


More information about the lldb-dev mailing list