伙计们!我写了一个 C++ 源代码。但是我发现某个地方有错误。
“分段错误:11”
但我不知道有关错误的详细信息以及在哪里修复?
你们知道一些命令可以显示错误在哪里。
谢谢
伙计们!我写了一个 C++ 源代码。但是我发现某个地方有错误。
“分段错误:11”
但我不知道有关错误的详细信息以及在哪里修复?
你们知道一些命令可以显示错误在哪里。
谢谢
对于gcc
生成的代码,您通常使用gdb
基于 - 的工具或gdb
本身。赶紧跑
gdb <program>
...然后在里面gdb
:
run <arguments>
...它会在崩溃发生的地方停止。
要使用调试信息获得有关要编译的程序位置的合理信息,即使用该-g
选项。为避免混淆,您可能希望编译时不进行优化,即不带任何-O...
选项。但是,某些错误仅在打开优化时才会触发(注意:这些通常仍然是您的代码中的错误,而不是优化器中的错误)。
使用 GNU 调试器 (GDB)。添加断点并运行代码。在这里你可以找到东西。http://www.unknownroad.com/rtfm/gdbtut/gdbtoc.html
听起来您的程序正在尝试访问无效(不存在)的地址。它也有可能试图访问未对齐的数据。我之前在尝试访问未对齐的结构时已经看到了这一点。