我通常使用这样的调试器,cgdb幸运的是system,直到现在我还不需要求助于调试调用。
我有一个二进制文件需要大约 30 分钟才能加载,gdb此后经常使调试器崩溃,这可能是由于符号数量非常多。这使我的正常工作流程(加载gdb、添加断点、识别问题变量等)站不住脚。
在 Windows 中,此时我会开始在我的代码中添加大量cout和system("pause")(可怜的人的断点)语句;但是如何在类 Unix 环境中执行此操作?
小智 6
我有时会诉诸于这个
#define BRK()  do { printf("%s %d\n", __FILE__, __LINE__); getchar(); } while (0)
...
BRK();  // Stop and wait for enter
Run Code Online (Sandbox Code Playgroud)
此外,函数检测可能会有所帮助:GCC 允许挂钩每个函数进入/退出,请参阅/sf/ask/159721761/