LLDB中GDB的“定义”等同于什么?

时间:2016-08-31 13:32:12

标签: c++ macos gdb lldb

我想定义一个同时运行2个命令的LLDB函数(例如,打印变量值并转到下一行)。使用GDB调试C代码我会这样做:

(gdb) def f
Type commands for definition of "f".
End with a line saying just "end".
>p i
>n
>end
(gdb) f

但是尝试使用LLDB也不行:

(lldb) def f
error: 'def' is not a valid command.
error: Unrecognized command 'def'.

有办法吗?

1 个答案:

答案 0 :(得分:1)

来自http://lldb.llvm.org/tutorial.html

  

lldb还有一个内置的Python解释器,可以通过“script”命令访问。调试器的所有功能都可以作为Python解释器中的类使用,因此使用lldb-Python库编写Python函数,然后加载脚本,可以通过“define”命令引入gdb中更复杂的命令。进入正在运行的会话并使用“script”命令访问它们。