1、编写一个简单地崩溃程序dest.c,如下: #include "stdio.h" int main() { int *p=NULL; *p=1; //给指针赋值 return 1; } 2、编译 aarch64-linux-gcc -g -o rtest dest.c 注意:一定要在命令中加上-g参数,这样使用gdb调试时才能看到具体是程序的哪一行出了错误。 3、将可执行文件11拷贝到开发板,运行程序 root@freescale /$ulimit -c unlimited 该命令的作用就是生成core文件,就是程序存在段错误时运行产生的文件 root@freescale /$ ./rtest Segmentation fault (core dumped) 这时在根目录下已经产生了core文件 4、将产生的core文件与dest.c放在电脑上的同一目录下。 5、编译dest.c可在电脑上运行的可执行文件 gcc -g -o wtest dest.c 6、使用gdb命令进行测试 gdb wtest core 如果有gdb工具的源码,可在开发板中完成以上操作,gdb工具的必备条件为崩溃时记录的core文件和可执行文件,执行gdb “可执行文件” “core文件”即可对比出源码中错误之处 |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-12-23 15:05
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.