Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何利用核心文件查找C/C+中的应用程序问题+;?_C++_File_Debugging_Core - Fatal编程技术网

C++ 如何利用核心文件查找C/C+中的应用程序问题+;?

C++ 如何利用核心文件查找C/C+中的应用程序问题+;?,c++,file,debugging,core,C++,File,Debugging,Core,我不知道如何使用核心文件找到C/C++linux应用程序问题的根本原因。我知道当应用程序发生意外情况时,会生成核心文件。但我不知道从哪里开始。谁能给我一个起跑机会 “gdb”是分析Linux内核转储的主要工具。以下是一些很好的教程: 学习从分析堆芯转储。这就是我学习的地方。是的,它使用GDB 和一些通用帮助: 使用以下命令安装gdb: yum安装gdb gdb启动gdb,无调试les gdb程序开始调试程序 gdb程序核心调试程序生成的核心转储核心 gdb——帮助描述命令行选项 1-首先

我不知道如何使用核心文件找到C/C++linux应用程序问题的根本原因。我知道当应用程序发生意外情况时,会生成核心文件。但我不知道从哪里开始。谁能给我一个起跑机会

“gdb”是分析Linux内核转储的主要工具。以下是一些很好的教程:


学习从分析堆芯转储。这就是我学习的地方。是的,它使用GDB

和一些通用帮助:

使用以下命令安装gdb:

yum安装gdb

gdb启动gdb,无调试les

gdb程序开始调试程序

gdb程序核心调试程序生成的核心转储核心

gdb——帮助描述命令行选项

1-首先找到生成corefile的目录。 2-然后使用目录中的“ls-ltr”命令查找最新生成的corefile。 3-要加载corefile,请使用

corefile的gdb二进制路径

这将加载corefile

4-然后您可以使用“bt”命令获取信息。有关详细的回溯,请使用“bt full”

5-要打印变量,请使用“打印变量名称”或“p变量名称”

6-要获得有关gdb的任何帮助,请使用“帮助”选项或使用“适当的搜索主题”

7-使用“帧编号”转到所需帧编号

8-使用“向上n”和“向下n”命令分别选择第n帧向上和第n帧向下


9-要停止gdb,请使用“退出”或“q”。

对不起,几秒钟前刚刚编辑过。它在C/C++中。我尝试从核心转储中获得的第一件事通常是所有线程的堆栈回溯,这可以通过gdb或pstack等工具完成,其中一些工具是平台特定的。您可以从
gdb program core
开始。你已经克服了吗?可能的重复有三个链接:)并且没有像“C/C++”这样的语言。有“C”,有“C++”,你通常会选择其中之一。我的偏好是“C”;或Java或C#用于任何面向对象的东西:)