用这个简单的代码说:
#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中是否有这样的命令或类似的命令?
用这个简单的代码说:
#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中是否有这样的命令或类似的命令?
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 等的所有方式没有任何特殊知识......它也不知道如何插入文件句柄和开球输出. 没有特别的原因它不能,但迄今为止没有人添加它。
因此,您必须自己构建它。如果你知道你的代码用来读写的 API,你可以使用断点来观察它——尽管如果你观察一个经常读写的程序,这可能会变慢。