[lldb-dev] Command Aliases

Yin Ma yin at affinic.com
Tue Oct 22 20:50:09 PDT 2013

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. 


-----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
> ...
>     (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

More information about the lldb-dev mailing list