我有一个大项目(更具体地说是LibO
)。尽管阅读整个文档和代码会花费太多时间,但我只是想知道我的代码在哪里运行而无需设置断点,因为我对项目有所了解。
也就是说,我需要一个命令来暂停程序并显示整个调用堆栈。有没有类似的东西?
因为我使用macOS
,所以我使用的调试器是lldb
。 (接收gdb
答案)
gdb和lldb之间几乎相同。在命令行上,^ C中断进程,bt
回溯当前线程,bt all
对所有线程执行相同的操作。
注意,通过从命令行运行“示例”工具,您也可以随时间轻松了解应用程序中使用了什么代码,例如:
$ sample ProcessName
这将在10秒钟内每10毫秒中断您指定的程序(您可以通过将时间和间隔作为额外的参数传递来更改这些数字,然后写出该时间段内看到的所有堆栈的报告。