gdb如何查看core文件中各个线程的信号?
例如:要查看哪个线程具有互斥(然后列出代码以查看互斥变量的名称)(gdb)printaccountauuumutex$1={uuuumuureserved=2,umuucount=0,umuowner=0x2527,umukind=0,umulock={uuuustatus=1,uumuspinlock=0}(gdb)print0x2527$2=9511(gdb)printaccountbumutex$3={reserved=2、uumuucount=0、umuuowner=0x2529、umukind=0、umulock={uuu状态=1、uuu自旋锁=0}(gdb)print0x2529$4=9513(gdb)从上面的命令中,我们可以看到accountaumutex被线程5(lwp9511)锁定(拥有),而accountbumutex被线程3(lwp9513)锁定(拥有)。
如何察看core文件的内容?
一般步骤:1。文件核心文件,该进程生成的核心文件可以显示。2使用gdb或dbx加载核心文件。gdb进程名是核心文件。三。显示堆栈信息的位置。例如,有一个名为abc的程序,它生成一个名为core的核心文件。如果输入filecore,堆栈信息会显示这个core文件是由abc生成的,然后输入gdbabccore安装core文件,然后输入在哪里显示堆栈信息
一般步骤1。filecore文件,它可以显示哪个进程生成了核心文件。2使用gdb或dbx加载核心文件。gdb进程名是核心文件。三。显示堆栈信息的位置。例如,有一个名为abc的程序,它生成一个名为core的核心文件。如果您输入filecore,它会显示核心文件是由abc生成的,然后输入gdbabccore安装核心文件,然后输入显示堆栈信息的位置
一般步骤
1。文件核心文件,哪个进程生成的核心文件
2。使用gdb或dbx加载核心文件,gdb进程名,核心文件
3。其中,显示堆栈信息,在哪里显示coredump
查看一个core文件是哪个进程的?
1.检查系统中生成核心文件的开关是否打开。1)使用ulimit-c命令可以查看核心文件的生成切换。如果结果为0,则关闭此函数,并且不会生成核心文件。2设置核心文件生成1)使用命令ulimit-cfilesize。如果ulimit-c不受限制,则核心文件的大小不受限制。如果指定文件大小,如果生成的信息超过此大小,则将对其进行裁剪,最后将生成一个不完整的核心文件。gdb在调试核心文件时会提示一个错误。
如何查看core文件是哪个进程的?
核心文件是在接收到系统信号后应用程序崩溃时生成的。该文件记录了程序崩溃的原因(如接收到的信号)、调用堆栈、崩溃时的内存和变量值等
打开核心文件与编译时使用的编译器有关,但大多数linux程序都是用gcc编译器编译的,所以可以使用相应的gdb调试器来打开它。命令格式如下:$gdbapplicationfilenamecorefilename示例:$gdb/usr/bin/gedit~/core---查看核心文件(gdb)bt---或geditcrash生成的回溯,如果您不知道核心文件是从哪个文件生成的,您可以使用file命令显示$filecor
例如,您需要的核心文件要调试的是核心.xxx原始可执行文件是a.exe。首先,使用gdba.exe输入gdb,核心文件在gdb命令行/path/to/核心.xxx然后可以调试核心转储文件,例如bt
原文标题:gdb调试core文件命令 gdb如何查看core文件中各个线程的信号?,如若转载,请注明出处:https://www.saibowen.com/tougao/19069.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。