大型c++项目在linux下如何调试?

大型c++项目在linux下如何调试?


在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Linux 的资料从专业入门到高级教程」,

点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!

首先要分客户端还是服务端,或者说程序运行在本地还是在服务器上。

本地运行的程序,如果项目本身是在IDE里开发的,那自然可以用IDE调试。Linux桌面环境里也有各种图形界面IDE,和Windows上的Visual Studio, macOS上的Xcode一样方便。

如果不是用IDE开发的程序,比如Chromium, 可以接入(attach) gdb/lldb. 值得一提的是gdb其实是有一个TUI的,虽然比较丑,但也勉强能用。

如果是在服务器上运行的程序,那么SSH连上去用gdb/lldb, 方法是差不多的。另外,VS Code的远程开发插件也支持调试的,配置妥当的话效果不错。

其次要分调试业务逻辑还是调试系统层面的问题。

业务逻辑是指程序本身的算法和数据,如果问题不复杂的话,其实二分法print还是挺好用的。唯一的缺点是如果文件比较大,编译会很费时间。

系统层面的问题那就要55e1a258ba500a0c627d957a0f1533ed.jpeg用这张图里的工具了,细节不展开讲,每个工具都有特定的适用场景。