找不到二进制格式的行,导致C++;程序 我运行C++代码,它接受用户的文件作为输入,包含包含文件的目录。我的C++代码在某些输入文件上运行得很好,但是在创建分段错误时,它是某些例外。现在我无法追溯分段错误。我正在使用DDD调试器调试这个问题。我已经尝试过。ddd中的所有内容。转储其核心,然后使用核心来回溯代码。事实上,我正在获取导致错误的lne,但此错误在其他地方填充

找不到二进制格式的行,导致C++;程序 我运行C++代码,它接受用户的文件作为输入,包含包含文件的目录。我的C++代码在某些输入文件上运行得很好,但是在创建分段错误时,它是某些例外。现在我无法追溯分段错误。我正在使用DDD调试器调试这个问题。我已经尝试过。ddd中的所有内容。转储其核心,然后使用核心来回溯代码。事实上,我正在获取导致错误的lne,但此错误在其他地方填充,c++,segmentation-fault,C++,Segmentation Fault,在搜索更多相关信息以解决分段故障时,我简要说明了如何使用objdump跟踪seg故障 objdump-CDl./binary文件。输出文件 但是这个命令持续了将近15分钟,当我试图找出导致错误的指针时(指针是通过ddd和dmesg | tail命令找到的) 我很困惑我的代码现在不会产生任何错误,因为错误是由输入文件引起的。这意味着我的代码无法通过该输入文件的特定部分 那么,我只是用objdump运行我的二进制代码,使用 grep-n-a100-b100./mydump 需要这方面的帮助尝试在va

在搜索更多相关信息以解决分段故障时,我简要说明了如何使用objdump跟踪seg故障

objdump-CDl./binary文件。输出文件

但是这个命令持续了将近15分钟,当我试图找出导致错误的指针时(指针是通过ddd和dmesg | tail命令找到的)

我很困惑我的代码现在不会产生任何错误,因为错误是由输入文件引起的。这意味着我的代码无法通过该输入文件的特定部分

那么,我只是用objdump运行我的二进制代码,使用

grep-n-a100-b100./mydump


需要这方面的帮助

尝试在
valgrind
中运行程序,可能会发现堆/堆栈损坏。你不能直接在调试器中运行代码,而不是检查核心转储吗?@mat:我已经在ddd调试器中运行了我的代码。但这没有多大帮助。它将我引向出现此错误的那一行。