使用GDB生成coredump文件【转载】

摘要:
步骤很简单:1.安装gdb,然后使用命令“gdb”。此时,将在当前目录_名称中生成名为core的文件。现在您可以使用gdb工具调试coredump文件。

本文转载自: http://blog.csdn.net/sky_qing/article/details/8548989

如果在测试过程中遇到某个进程的CPU利用率过高或者卡死而需要去调试该进程时,可以利用gdb命令生成coredump文件,然后再去调试coredump文件来定位问题。

那么如何使用gdb生成coredump文件呢?其实步骤很简单:

1. 安装好gdb,然后使用命令 'gdb'。(假设需要调试的进程号为 21509)

2. 使用 ‘attach 21590’命令将gdb附加到进程21509上。

3. 使用‘gcore core_name’命令生成coredump文件core_name。

4. 使用‘detach’命令断开连接。

5.使用‘q’命令退出gdb。

此时,在当前目录下就会产生一个名为core_name的coredump文件。下面就可以利用gdb工具来对该coredump文件进行调试了。

免责声明:文章转载自《使用GDB生成coredump文件【转载】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux 环境下jmeter+ant+jenkinsVSCode的常用快捷键集合下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux下调试C程序

正文:==================GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。于是UNIX下的软件比Windows下的软件更能...

gdb调试命令的使用及总结

gdb调试命令的使用及总结 gdb是一个在UNIX环境下的命令行调试工具。如果需要使用gdb调试程序,请在gcc时加上-g选项。下面的命令部分是简化版,比如使用l代替list等等。 1.基本命令 命令 描述 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 fram...

gdb调试程序函数名为问号,什么原因?step by step解决方案

gdb调试程序函数名为问号,什么原因? http://bbs.chinaunix.net/thread-1823649-1-1.html http://www.bubuko.com/infodetail-1877415.html 其实就是3个原因:源代码和可执行程序版本不一致;没有符号表,这不只是-g加上就万能,还可能涉及到具体的编译选项比如-g2 -gd...

mysql hang and srv_error_monitor_thread using 100% cpu(已解决)

昨天晚上,运维过来说有台生产服务器的mysql cpu一直100%,新的客户端登录不了,但是已经在运行的应用都正常可用。 登录服务器后,top -H看了下,其中一个线程的cpu 一直100%,其他的几乎都空闲。 MySQL thread id 14560536, OS thread handle 0x7f1255ef1700, query id 31889...

通过gdb跟踪Linux内核装载和启动可执行程序过程

作者:吴乐 山东师范大学 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的:通过对一个简单的可执行程序用gdb进行代码的跟踪,剖析linux内核是如何动态和静态装载和启动程序的,进而总结linux内核可执行程序加载的过程。 一、实验过程 1、编写一个简单的Exec的...

第3课-CoreDump程序故障分析

1.定义在程序运行过程中,突然出现错误。然后Linux会把程序出错时的内存内容存放到一个Core文件中,这个过程就叫Core Dump。就叫核心转存。2.主要用途:段错误,产生段错误的地方主要有(1)数组访问越界(2)访问空指针(3)栈溢出(4)修改制度内存3.使能CoreDump打开 ulimit -c unlimited关闭ulimit -c 04.在...