参考文章:https://blog.csdn.net/liuye066/article/details/83647350?utm_source=app&app_version=5.3.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
问题
- 出现段错误
产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.
解决方法:
利用gdb逐步查找段错误:
首先我们需要一个带有调试信息的可执行程序,所以我们加上“-g -rdynamic"的参数进行编译,然后用gdb调试运行这个新编译的程序,具体步骤如下:
- 1、 gcc -g -rdynamic d.c (其中d.c是要编译的文件)
- gdb ./a.out
- r
这样就找到了出错位置。然后在相应位置修改。
- 成功接受安卓客户端发来的指令
总结
段错误是空指针或者野指针导致