-5

伙计们!我写了一个 C++ 源代码。但是我发现某个地方有错误。

“分段错误:11”

但我不知道有关错误的详细信息以及在哪里修复?

你们知道一些命令可以显示错误在哪里。

谢谢

4

3 回答 3

4

对于gcc生成的代码,您通常使用gdb基于 - 的工具或gdb本身。赶紧跑

gdb <program>

...然后在里面gdb

run <arguments>

...它会在崩溃发生的地方停止。

要使用调试信息获得有关要编译的程序位置的合理信息,即使用该-g选项。为避免混淆,您可能希望编译时不进行优化,即不带任何-O...选项。但是,某些错误仅在打开优化时才会触发(注意:这些通常仍然是您的代码中的错误,而不是优化器中的错误)。

于 2012-10-05T19:09:33.383 回答
1

使用 GNU 调试器 (GDB)。添加断点并运行代码。在这里你可以找到东西。http://www.unknownroad.com/rtfm/gdbtut/gdbtoc.html

于 2012-10-05T19:04:53.100 回答
0

听起来您的程序正在尝试访问无效(不存在)的地址。它也有可能试图访问未对齐的数据。我之前在尝试访问未对齐的结构时已经看到了这一点。

阅读分段错误:http ://en.wikipedia.org/wiki/Segmentation_fault

于 2012-10-05T19:09:07.083 回答