Как задокументировать пользовательскую команду LLDB (псевдоним)?

В GDB (обычно в файле .gdbinit) я использую для документирования своих добавленных пользовательских команд, например:

define parg    <-- this define my custom command
p *($arg0*)($ebp+8+(4*$arg1))     <--- what in does
end

document parg   <--- HERE IS THE COMMENT / DOCUMENTATION ON THIS CUSTOM COMMAND
Prints current function arguments

parg <type> <index>
Prints the <index>th argument of the current function as type <type>
<index> is 0-based
end 

Я знаю, как добавить команду в LLDB (псевдоним команды...), но как ее задокументировать?


person Altimac    schedule 21.09.2012    source источник


Ответы (2)


Нет никаких разрешений на документирование псевдонимов команд — они обычно довольно просты, и запуск «справки» для них покажет, до чего они расширяются, — но если вы определяете команду в python, вы можете добавить документацию к этой команде. Например,

(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> def say_hello(debugger, command, result, dict):
...   print 'hello!'
...   description = '''This command says hello.'''
...   usage = 'usage: say_hello'
... 
>>> ^D
(lldb) command script add -f say_hello say_hello
(lldb) say_hello
hello!
(lldb) help say_hello
   Run Python function say_hello  This command takes 'raw' input (no need to quote stuff).

Syntax: say_hello
(lldb) 

Обратите внимание на четвертую строку "...", где я нажал клавишу возврата на пустой строке.

Для получения дополнительной информации о сценариях Python в lldb см. http://lldb.llvm.org/python-reference.html

Но нет, ответ на ваш вопрос заключается в том, что сегодня вы не можете задокументировать псевдоним команды.

person Jason Molenda    schedule 24.09.2012

Вы можете задокументировать пользовательские команды lldb, используя строки документации, как описано в справочнике по Python:

При желании вы также можете предоставить строку документации Python, и LLDB будет использовать ее при предоставлении справки для вашей команды, например:

(lldb) script
>>> def documented(*args):
...     '''
...     This command is documented using a docstring.
...
...     You can write anything!
...     '''
...     pass
...
>>> exit
(lldb) command script add -f documented documented
(lldb) help documented

    This command is documented using a docstring.

    You can write anything!

Syntax: documented
(lldb)
person tmr232    schedule 29.09.2015