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