创建时间物数:2022-02-24
修改时间:2022-02-24
linux下使用gdb调试程序是一个基本 *** 作。
本文介绍使用code-server + gdb离线远程调试C++的cmake工程。
最终效果:可以在没有GUI界面的centos上,在windows上以浏览器的方式调试centos上的C++程序。
镜像加速
安装
目录结构:
test.cpp
myprint.h
myprint.cpp
CMakeLists.txt
注意:必须生成Debug模式,否则无法调试
建议使用CMake Tools进行编译。
注意:离线下需要同时下载CMake和CMake Tools
linux下验证应用程序是否为debug版本:
默认使用配置文件:~/.config/code-server/config.yaml
设置密码
不设置密码
浏览器中输入http://IP:8080即可访问
安装C++调试插件 C/C++ extension for VS Code
安装cmake插件 CMake Tools
注意:离线下需要同时下载盯空CMake和CMake Tools
launch.json
设置断点,在code-server中按F5进行调试凯蚂瞎。
code-server左侧有变量、监视、调用堆栈、断点和Modules信息。
调试Linux中第三方库报错的源码可以采用gdb调试亏闷器,步骤如下:1.使用gcc命令编闹历译待调试的源码,并增加-g选项;2.运行gdb,输入文件名和参数,加载程序;3.设置断点;4.使用run命令运行程序;5.使用销弯弯【1】配芦兄置Kconfig,添加要调试驱动模块的DDEBUG选桐哗岩项,如kernel_imx\drivers\mxc\pmic\mc13892\Kconfig
config MXC_PMIC_DEBUG
bool "Support MXC PMIC DEBUG"
depends on MXC_PMIC
【2】配置Makefile,添加编译支持驱动模块 EXTRA_CFLAGS += -DDEBUG ,如
kernel_imx\drivers\mxc\pmic\core\Makefile
ifeq ($(CONFIG_MXC_PMIC_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG
endif
【3】配置内核,使支持动态调试
make menuconfig
| |Kernel hacking --->
| |[*] Tracers --->
| | [*] Trace max stack
| |[*] Enable dynamic printk() support
| |Device Drivers --->
| |MXC support drivers --->
| |MXC PMIC support --->
| | [*] Support MXC PMIC DEBUG
【4】重烧内核启动后,改变控制台debug消息显示级别,局御可以打印printk(DEBUG ...)信息
echo >/proc/sys/kernel/printk "8"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)