1 空指针core dump文件分析
把core文件从开发板拷贝到本地主机,用gdb命令打开,命令格式为:
aarch64-unknown-nto-qnx7.1.0-gdb executable-file core-file
打开一个因为空指针问题导致的coredump文件:
可以发现是SIGSEGV信号导致的:
出错地址为:
在 gdb中输入 info sharedlibrary:
可以发现0x0000000078cf3ff8 这个出错地址比程序加载的动态库libqcx_max96722_avm.so的起始地址大,因为这边没有加载libqcx_max96722_avm.so 库到gdb中,所以gdb只知道该库加载的起始地址,不知道该库的大小。可以使用readelf 工具,来查看该动态库在内存中的镜像有多大,利用 readelf -l 命令,查看动态库的program h