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

Don Hinton via lldb-dev lldb-dev at lists.llvm.org
Tue Oct 24 19:18:28 PDT 2017


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/20171024/1299d115/attachment-0001.html>


More information about the lldb-dev mailing list