大型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还是挺好用的。唯一的缺点是如果文件比较大,编译会很费时间。

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

相关推荐
小宋同学在不断学习1 小时前
stm32--SPI原理应用W25Q64(二)
stm32·单片机·spi
lingzhilab2 小时前
零知开源——STM32F4结合BMP581气压传感器实现ST7789中文显示教程
stm32·单片机·嵌入式硬件
夜月yeyue2 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
猫猫的小茶馆3 小时前
【STM32】外部中断
stm32·单片机·嵌入式硬件·mcu·51单片机
森焱森4 小时前
垂起固定翼无人机介绍
c语言·单片机·算法·架构·无人机
brave and determined5 小时前
国产MCU学习Day11——CW32F030C8T6 低电压检测器(LVD)详解与应用
单片机·嵌入式硬件·嵌入式·国产mcu·cw32f030c8t6·cw32f030c8t6lvd·低电压检测器
金色光环9 小时前
stm32与tp-linkv2接线、解决识别不到芯片问题
stm32·单片机·嵌入式硬件
森焱森12 小时前
APM与ChibiOS系统
c语言·单片机·算法·架构·无人机