程序测试、调试是件麻烦细致的工作,日积月累,有时要多思考下、总结下,才能更清晰、更有效率。
相比 PC APP,很多嵌入式不好做单步调试,所以还是要用一些手段:
一,标准来说修改后的程序无论大小,都应该先发布 DEBUG 版。它测试稳定后,再发布、测试 RELEASE 版。因为 RELEASE 版的调试信息较少,会给测试、开发人员带来不小 麻烦,尤其是异地测试。
二,生成 core dump file, 拿回来用 GDB 和 APP 一起调试,需添加:
echo /mnt/disk2/coredump/core.%e.%p.%t > /proc/sys/kernel/core_pattern
这样再启动 APP,如果有 segmentation fault 之类的,就会有这样的打印:Segmentation fault (core dumped)
如果没有的话,应该只会打印:Segmentation fault