本文介绍了确定导致分段错误的C代码行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在编写一些代码之后,要确定我在哪里有分段错误,可以gcc显示我在一个特定行号中有错误(或输入错误) - 因为该行导致了分段错误。
解决方案
p> GCC不能这样做,但GDB肯定可以。使用 -g
开关编译程序,如下所示:
gcc program.c -g
然后使用gdb:
$ gdb ./a.out
(gdb)运行
< segfault发生在这里>
(gdb)backtrace
<违规代码在这里显示>
是一个很好的教程,让您开始使用GDB。
How do we determine where the mistake is in our code that causes a segmentation fault?
After writing some code, to determine where I have a segmentation fault, can gcc show me my have a mistake (or typing error) in a particular line number -- because that line caused the segmentation fault?
解决方案
GCC can't do that but GDB sure can. Compile you program using the -g
switch, like this:
gcc program.c -g
Then use gdb:
$ gdb ./a.out
(gdb) run
<segfault happens here>
(gdb) backtrace
<offending code is shown here>
Here is a nice tutorial to get you started with GDB.
这篇关于确定导致分段错误的C代码行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!