我们在linux下开发程序时,经常遇到Segmentation fault的错误信息,如果代码比较少还可以去一行行排除,但是代码量比较大的时候,往往是一件头疼的事情。Segmentation fault会有地址抛出,我们可以利用addr2line定位到程序出错的行,这样是不是很方便的排查问题。下面就简单的介绍一下addr2line的使用方法。
运行测试代码,产生Segmentation fault信息
dmesg查看系统崩溃的信息,查找崩溃的地址
使用addr2line命令查看错误信息
gcc编译测试代码,注意需要增加-g选项