欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > C++开发调试工具:GDB调试,windebug调试,adb调试

C++开发调试工具:GDB调试,windebug调试,adb调试

2024/10/24 10:15:59 来源:https://blog.csdn.net/qianniulaoren/article/details/140197419  浏览:    关键词:C++开发调试工具:GDB调试,windebug调试,adb调试

我们在C++开发过程中时常避免不了要调试追踪,一下介绍最主流的三种调试工具:

一.GDB调试

1.coredump文件:
coredump文件是程序异常时系统产生的错误日志文件,即核心转储文件;
编译一个debug程序,必须是debug版本,否则无法产生coredump文件;
编译命令:g++ test.cpp -o mytest -g,必须要加上"-g"才能生成由debug info的文件;
执行程序直至崩溃,让其产生coredump文件;
2.GDB命令调试:
安装GDB命令:sudo apt-get install gdb下载,执行…/configure,执行make j4,执行sudo make install安装
GDB常用命令:run,break,continue,frame,list,next等
调用GDB命令:gdb mytest core.2222
查看调用堆栈命令:bt 来看到崩溃时执行的程序行
切入出问题的堆栈中命令:f 0(f加上堆栈编号)看以看到当时执行的程序代码行,确认出问题的点
查看对应的指针命令:p ptr(指针名称) 可以看到该指针为空等原因

二.windebug调试

安装windebug,控制面板 -> 程序 -> Windows Software Development Kit -> 右键选择更改 -> change -> 勾选Debugging Tools For Windows -> 安装;
为进程创建转储文件(dmp),既可以在任务有管理中选中进程 -> 右键 -> 创建转储文件;
运行要调试的程序;
打开windebug工具,菜单栏选择"file",“Attach to Process”;
选择要调试的目标程序;
附加;
附加后程序会被暂停,这时候需要使用Debug中go、step out、stepover等命令让程序继续执行,直到出现异常,Windbg会检测出异常,并停止;
windbg发现异常并中断,然后输入:.dump /f e:dump/XXXX.dmp,来生成全信息的dmp文件;

三.adb调试

1.介绍
adb全称Android Debug Bridge是C/S模式的桥接调试工具,可以上传/下载文件,运行设备shell命令,对设备安装和卸载应用等功能,主要用于andriod调试,也支持Linux嵌入式设备调试;
2.安装adb
adb支持Windows和Linux,在adb官网下载;Windows上解压后设置系统环境变量指向解压释放的目录;
3.连接使用
通过数据线连接开发板;
打开cmd命令窗口,即可使用adb命令调试设备;
4.常用命令
adb verison 显示adb版本;
adb help 帮助信息;
adb devices 查看当前已连接的设备列表;
adb root 获取root权限;
adb -s 222 shell 与设备号为222的设备建立连接;
exit 退出设备连接;
adb -p 6666 start-server 指定6666端口来启动设备adb服务;
adb shell pm list packages 列出当前设备中所有的包名;
adb install -r <文件路径\apk> 覆盖式安装apk包;
adb push C:\user\test /usr/local/ 将C盘下的test文件拷贝到设备的usr/local目录下;
adb shell getprop ro.product.model 获取设备型号;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com