Linux gdb+valgrind调试

时间:2022-07-22
本文章向大家介绍Linux gdb+valgrind调试,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

使用 gdb 调试 Core 文件

产生了 core 文件,我们该如何使用该 Core 文件进行调试呢?Linux 中可以使用 GDB 来调试 core 文件,步骤如下:

  • 首先,使用 gcc 编译源文件,加上 -g 以增加调试信息;
  • 按照上面打开 core dump 以使程序异常终止时能生成 core 文件;
  • 运行程序,当core dump 之后,使用命令 gdb program core 来查看 core 文件,其中 program 为可执行程序名,core 为生成的 core 文件名。

参考链接:

https://www.cnblogs.com/longjiang-uestc/p/10635135.html

https://blog.csdn.net/biqioso/article/details/83272843

https://www.cnblogs.com/AndyStudy/p/6409287.html

valgrind

Memcheck:用来检测程序中出现的内存问题,所有对内存的读写都会被检测到。

Callgrind :生成可视化图形界面,收集程序运行时的一些数据,建立函数调用关系图,gprof2dot.py

Cachegrind:分析CPU的cache命中率、丢失率,用于进行代码优化。

helgrind:用于检查多线程程序的静态条件。

massif:堆栈分析器,指示程序中使用了多少堆内存等信息