[lldb-dev] Command Aliases

Michael Sartain mikesart at gmail.com
Wed Oct 23 00:10:57 PDT 2013


I'm in a room with several folks that work on Linux and Mac. One of the
major complaints with lldb is the command syntax when switching between the
two debuggers. Currently, everyone prefers the gdb syntax. I'm sure a large
part of that is due to knowing gdb after using it for so long, but also
because some of the commands are much simpler. "ptype Point" vs. "image
lookup --type Point", "info symbol 0x1234" vs. "image lookup --address
0x1234", etc. I'm sure there are other folks dealing with this issue when
they move to lldb from gdb, and there appear to be several gdb --> lldb
aliases already built into lldb - I assume to help with this. So instead of
having several different people each trying to solve this for themselves
with local python scripts or init files and all the issues that come along
with those, I was thinking it would useful to get some more gdb commands it
into lldb. Ie, ones like "info" that are fairly simple and don't interfere
with existing lldb commands. But we'll take a look at the .lldbinit file
Jason mailed, python scripts, and if those don't work for us I'll
investigate Enrico's multiword commands idea and possible local lldb
modifications.

Thanks.

On Tue, Oct 22, 2013 at 8:50 PM, Yin Ma <yin at affinic.com> wrote:

> Hi Michael,
>
> I recommend this way also. Actually, we have already done this thing
> for our GUI for lldb. It is not hard at all.
>
> Yin
>
> -----Original Message-----
> From: lldb-dev-bounces at cs.uiuc.edu [mailto:lldb-dev-bounces at cs.uiuc.edu]
> On Behalf Of Greg Clayton
> Sent: Tuesday, October 22, 2013 5:58 PM
> To: Michael Sartain
> Cc: lldb-dev at cs.uiuc.edu
> Subject: Re: [lldb-dev] Command Aliases
>
> Just write a new python command and name it "info". Then re-route as
> needed under the covers.
>
>
> On Oct 22, 2013, at 5:53 PM, Michael Sartain <mikesart at gmail.com> wrote:
>
> > I'd really like to add aliases for the following commands from gdb:
> >
> > info b[reak]                  ; breakpoint list
> > info ar[gs]                   ; frame variable
> > info lo[cals]                 ; frame variable --no-args
> > info r[egisters]              ; info registers
> > info al[l-registers]          ; info all-registers $rax $rcx
> > info all-registers rax rsp    ; register read rax rsp
> > info sh[ared]                 ; image list
> > info sy[mbol] 0x1234          ; image lookup --address 0x1234
> >
> > These all have spaces in them, which I believe means they won't work
> with the existing alias system. Would it make the most sense to add a new
> "CommandObjectMultiwordInfo" object in the Command Interpreter and break
> all the info stuff out there, or is it feasible to add the ability to
> recognize multiword aliases so something like this would work:
> >
> >     command alias "info break" breakpoint list
> >
> > Also, it appears that command regex commands don't show up in help -a.
> See example down below. Is this expected behavior?
> > Thanks!
> >  -Mike
> >
> > (lldb) help command regex
> > ...
> > EXAMPLES
> >     (lldb) command regex f s/^$/finish/ 's/([0-9]+)/frame select %1/'
> > (lldb) command regex f s/^$/finish/ 's/([0-9]+)/frame select %1/'
> > (lldb) help -a
> > ...
> > expression        -- Evaluate a C/ObjC/C++ expression in the current
> program context, using user defined variables and variables currently in
> scope.
> > f                 --
> > frame             -- A set of commands for operating on the current
> thread's frames.
> > ...
> > (lldb) help f
> >      This command takes 'raw' input (no need to quote stuff).
> >
> > Syntax: f
> >
> > 'f' is an abbreviation for 'f'
> > _______________________________________________
> > lldb-dev mailing list
> > lldb-dev at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20131023/925c31a8/attachment.html>


More information about the lldb-dev mailing list