如何处理c语言中的段错误信息
我们使用c语言中进行代码的编写的过程中,最容易出现的是段错误。如何好的找到段错误和解决掉
这个错误,是我们需要面对的问题。
我以前在一家写c语言的公司了。开发底层系统,一般他们使用makefile文件进行编译,makefile文件
很大,也很多。一下子编译了很多的文件,导致当文件中,出现一个段错误的时候,基本上,就是很难办的
事情,你有不可能,再说所有的问题上,都加上printf()这个东西吧。
如何解决这个问题呢:
1:我们先来看看段错误出现的几个主要的地方:
1.1:段错误出现在,错误的赋值,一般情况下,使用一个指针函数,然后,把这个指针给赋值,这个在写代码的时候,
会出现这样的问题。
char * sTest =123445;
1.2:段错误出现在没有给新声明的值,进行赋值。
char abc[1234] ;
char bcd[1234];
memcpy(abc,bdc,1234);
1.3:一些函数内的打印错误。
int a = 1234;
printf(“%s”,a);
2:如何查找段错误出现的地方:
使用gdb进行调试,在出现段错误发生的可能地方,放置断点,进行调试。
最后,在复杂的代码里,不断地去试验,一般的调试手段是当你出现和你想要的结果不一致的时候,
使用printf进行测试,看看结果的不一致。然后,在进行测试,实在找不到原因了,就只有进行
单步调试的命令了。
赞 (0)