本文介绍了确定导致分段错误的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代码行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 19:29