通知:欢迎光临,有建议或发现bug,点此留言
首页> VIP文章> Linux使用coredump文件调试系列3-使用GDB调试coredump

Linux使用coredump文件调试系列3-使用GDB调试coredump

2018-12-05 17:42:26 阅读:78 会员文章,禁止转载
简介本文的目的不是教你如何使用GDB指令调试,而是告诉你如何去用gdb加载coredump进入调试,然后看看崩溃进程的堆栈。主要是先将coredump玩转起来。
    C++性能强大,而Python开发高效。C++与Python强强联合,一起征战世界!
    Python技术网
Python技术网
是C++技术网的官方兄弟网站,安全可靠,一起学习C++和Python吧。告诉你一个好消息:打开支付宝,搜索【514124385】可领红包哦,最高99元!!!,每天都可领。

    本文的目的不是教你如何使用GDB指令调试,而是告诉你如何去用gdb加载coredump进入调试,然后看看崩溃进程的堆栈。主要是先将coredump玩转起来。我们在《Linux使用coredump文件调试系列1-设置生成coredump文件》中已经讲解了如何去设置生成coredump文件,设置好之后我们在《Linux使用coredump文件调试系列2-编译生成会产生coredump文件的程序并测试》一文中演示了编译产生coredump的方法并测试产生coredump文件。那么我们这里就要开始进入调试coredump文件的环节了。
1.最简单的方式
    直接用gdb加载core文件,命令如下:

gdb /data/corefile/core-test-singal\(11\)-pid\(26676\)-ts\(1544000344\)
    然后会出现以下结果:
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-92.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
[New Thread 26676]
Core was generated by `./test'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f9941591ac0 in ?? ()
"/data/corefile/core-test-singal(11)-pid(26676)-ts(1544000344)" is a core file.
Please specify an executable to debug.
(gdb)
    这样就已经带着coredump文件进入到了GDB环境,可以在(gdb)后面输入命令来调试。我们这里只说一个命令,那就是bt即back trace的缩写,也就是查看程序崩溃时的堆栈情况。输入bt之后,显示下面的结果:

登陆系统,查看更多
会员文章,禁止转载

阅读排行

  • C++获取硬盘序列号、主板序列号、CPU序列号、BIOS序列号和MAC地址

    我们可以获取硬盘序列号、主板序列号、CPU序列号、BIOS序列号和MAC地址。通过这些信息,我们基本可以唯一确定一个计算机。本文使用C++获取硬盘序列号、主板序列号、CPU序列号、BIOS序列号和MAC地址。

  • VS插件VisualGDB破解版下载、安装和使用说明

    VS插件VisualGDB支持直接在VS编译调试Linux代码,本文提供VisualGDB破解方法、安装和使用说明。让Windows程序员顺利开始写Linux代码。

  • 图解说明什么是路由表,分分钟明白路由表是什么

    本文深入详细图文并茂的全面介绍了路由表的本质,让你深刻认识路由表,并且是站在编程的角度来解释路由表的,这样能够让你更加准确的了解,对于程序员学习是大大有益的,不会出现读死书的弊病。同时介绍了重启路由器加快上网速度的原理,也就是清空路由表提高上网速度。

  • Win32实现在窗口贴图,Win32设置窗口背景

    使用MFC我们设置窗口背景的方法其实和Win32差不多,不过,虽然你会MFC设置窗口背景,然而切换到Win32环境,不一定会哦。然而你会Win32环境下的实现,MFC也是分分钟的事情。美女背景图片设置就这么实现了哦。

  • VS工程项目相关文件讲解8:vcxproj.filters文件分析

    详细了解vcxproj.filters文件后,你可以在你的解决方案管理器中按照你自己的分类习惯对文件进行分类。每种类别都以文件夹的形式存放,当然只是在解决方案管理器中显示而已。虽然可以在VS中直接操作,但是了解内部实现机制有时候会给我们直接操作带来很多好处,比如批量操作。

猜您感兴趣