专栏首页CV_LearnLinux gdb+valgrind调试
原创

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:堆栈分析器,指示程序中使用了多少堆内存等信息

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Detectron学习三:自定义数据层

    博客:https://www.cnblogs.com/marsggbo/p/11727556.html

    CV_Learner
  • 杂谈:ubuntu检查网络状态命令

    参考博客:https://blog.csdn.net/yph001/article/details/80177154

    CV_Learner
  • Detectron2学习二:目录结构、超参数配置、Trainer类

    参考链接:https://www.cnblogs.com/marsggbo/p/11677086.html

    CV_Learner
  • linux 下 core 相关知识总结

    在以往的测试过程中,每当遇到程序出现coredump的状况,我的第一反应就是有bug,让开发定位原因,但是如果自己能够去挖掘原因,在与开发沟通的过程中能明确指出...

    易惠芳
  • linux下core file size设置笔记

    现象说明:突然发现一台测试机器的java程序莫名其妙地没了,但是没有core dump!这就需要打开服务器的core文件生成的功能了,(即core dump文件...

    洗尽了浮华
  • Linux下使用gdb调试core文件

    当程序运行过程中出现Segmentation fault (core dumped)错误时,程序停止运行,并产生core文件。core文件是程序运行状态的内存映...

    Dabelv
  • linux core文件机制

    在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所...

    一见
  • Qt5.12 + OpenGL 创建第一个多边形Core版

    https://learnopengl-cn.github.io/01%20Getting%20started/04%20Hello%20Triangle/

    用户5908113
  • CMake 进行调试

    在 Linux 下开发,可以用 gdb 进行调试,但是如果工程是用 CMake 构建的,那么需要在 CMakeLists.txt 中加入如下代码:

    Frank909
  • Linux core dump有什么用?

    进程崩溃时,Linux会将崩溃前进程的内存状态保存在core文件里,就像保存了案发现场的照片,可以帮助开发人员找到事故原因,修复程序。本文用简单的例子讲解如何根...

    震八方紫面昆仑侠

扫码关注云+社区

领取腾讯云代金券