如何抓住系统调用'在LLDB?

时间:2014-10-08 09:20:30

标签: lldb

众所周知,我们可以在GDB中使用命令'catch syscall'来打破每个系统函数。

LLDB中是否有类似的命令?

(gdb) catch syscall
Catchpoint 1 (syscall)
(gdb) r
Starting program: /tmp/catch-syscall

Catchpoint 1 (call to syscall 'close'), \
0xffffe424 in __kernel_vsyscall ()
(gdb) c
Continuing.

Catchpoint 1 (returned from syscall 'close'), \
0xffffe424 in __kernel_vsyscall ()
(gdb)

1 个答案:

答案 0 :(得分:0)

尚未,您可以使用http://lldb.llvm.org错误报告链接提交增强请求。

如果您使用的是Mac OS X并且只对记录系统调用感兴趣,则可以使用dtrace,您可以使用它来转储堆栈跟踪等。如果您需要在系统调用中调试器中停止,这无济于事,但可能会出于某些目的。