lldb可以在断点检查已写入文件的内容或它已生成/使用的IPC机制中的数据吗?

时间:2019-05-12 07:37:48

标签: lldb

用这个简单的代码说:

#include<stdio.h>
int main(int argc, char** argv){
    printf("Hello World!\n");
    return 0;
}

踏上printf("Hello World!\n”);后,也许有一条命令打印“ Hellow World!\ n”已写入STDOUT。

return 0之后,也许有一条命令可以查看生成的退出代码,并且它将显示0。

lldb中是否存在此类命令或类似命令?

1 个答案:

答案 0 :(得分:0)

在进程退出时,LLDB打印退出状态:

(lldb) run
Process 76186 launched: '/tmp/a.out' (x86_64)
Process 76186 exited with status = 10 (0x0000000a) 

,您还可以使用SB API进行访问:

(lldb) script lldb.process.GetExitStatus()
10

lldb对程序可能会在管道,文件句柄,pty等中读取或写入数据的所有方式没有任何专门知识。它也不知道如何插入文件句柄和tee-关闭输出。没有特定的原因,但是到目前为止,还没有人添加。

因此,您必须自己构建它。如果知道您的代码用于读取和写入的API,则可以使用断点来观察-尽管如果您观察到的程序会大量读写,则断点可能会变慢。