调试
文章平均质量分 75
debug方法,常见错误定位
embedded_w
这个作者很懒,什么都没留下…
展开
-
4、内存泄漏检测(多线程)
多线程下使用Valgrind工具的memcheck检查.原创 2023-12-30 23:34:35 · 1200 阅读 · 0 评论 -
3、内存泄漏检测方法(单线程)
之后运行可执行文件后,同级文件夹下产生一个名为。cmake添加方式如下所示。即可.使用方法如下所示.gcc添加方式如下所示.在代码中添加如下代码.单线程下使用系统自带。编译产生可执行文件.原创 2023-12-30 23:28:12 · 458 阅读 · 0 评论 -
2、gdb常用功能2
即可进入到程序崩溃前的堆栈环境,之后利用上述堆栈和线程相关指令查看内部数据使用情况. 后续根据断点和观察点等指令快速调试定位问题.结合上述图片理解,第一列的id是gdb内部为线程排序的一个id,第三列中的id为代码中实际的id.在执行程序,则程序崩溃后,会在当前目录自动保存一个叫做core的文件.中的regexp为第三列中的id,输出的id为第一列的id.从上到下就是调用层级的关系.第一例的数字就是堆栈编码.程序崩溃不好定位,在执行程序前,输入如下指令.中的num为第一列中的id。进入到指定堆栈查看数据.原创 2023-12-30 23:08:45 · 424 阅读 · 0 评论 -
1、gdb基本功能
linux下我现在接触到的常用调试工具如下.gdb是最为通用的,普遍linux会自带gdb工具,使用简单,无额外需求.gdbgui需要额外安装,且会占用处理器资源.cmake-tools是使用vscode远程ssh设备时在vscode上安装的一个插件,必须用cmake组织管理代码且使用vscode时才可以使用该工具借助于vscode图形化界面进行debug,但相当占用处理器资源.下面只介绍gdb具体使用方法.原创 2023-12-30 22:12:20 · 984 阅读 · 0 评论