当在写程序时候,如果遇到野指针、数组索引错误等一些内存相关错误时,经常会出现段错误,而且没有提供其他信息……属于一种运行时的错误。
|
|
对于此,我们需要在编译时添加 -g
参数生成调试信息。以便使用 gdb 进行调试。
一般来说,运行程序是不会生成 core 文件的,我们需要对 shell 进行修改使得当发生段错误时候生成 core 文件。
|
|
这里使得当前 shell 运行程序生成 core 文件不限制,当我们再次运行后,报错另附了核心转储(core dumped):
|
|
当前目录生成了 core.739807
之后就可以使用 gdb 进行调试,比如当前 main 文件可以用 gdb main core.739807
进行调试。
最后的报错结果是数组的索引写错了……