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

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

相关推荐
bai5459367 小时前
STM32 PWM驱动LED呼吸灯
stm32·单片机·嵌入式硬件
智者知已应修善业7 小时前
【51单片机普通延时奇偶灯切换】2023-4-4
c语言·经验分享·笔记·嵌入式硬件·51单片机
btzhy13 小时前
STM32单片机:基本定时器应用:单脉冲模式(STM32L4xx)
stm32·单片机·嵌入式硬件·基本定时器应用:单脉冲模式
文sir.14 小时前
温湿度采集系统(stm32+mqtt+Onenet云平台+esp8266)
stm32·单片机·嵌入式硬件·mqtt·onenet·云平台·esp8266
DIY机器人工房14 小时前
嵌入式面试题:你有没有用过直接基于TCP协议,不借助HTTP、MQTT这类上层协议的项目经历?
stm32·单片机·嵌入式硬件·面试题·diy机器人工房
zhmc16 小时前
Cortex M0单片机指令执行周期
单片机·嵌入式硬件
NEU-UUN18 小时前
5.1.STM32-EXTI外部中断——全程手敲板书
stm32·单片机·嵌入式硬件
TangDuoduo000519 小时前
【常见传感器原理及应用】
单片机·嵌入式硬件
q***06471 天前
SocketTool、串口调试助手、MQTT中间件基础
单片机·嵌入式硬件·中间件
洋九八1 天前
电路基础和 PCB 制作
单片机·嵌入式硬件·pcb工艺