完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 forlinx 于 2017-7-21 15:51 编辑
平台:OKMX6Q-S2平台 环境:Linux iMX6Q 开发板 :www.forlinx.com/73.htm 一、cmd程序 1、编写一个简单地崩溃程序dest.c,如下: #include "stdio.h" int main() { int *p=NULL; *p=1; //给指针赋值 return 1; } 2、编译 ARM-fsl-linux-gnueabi-gcc -g -o 11 dest.c 注意:一定要在命令中加上-g参数,这样使用gdb调试时才能看到具体是程序的哪一行出了错误。 3、将可执行文件11拷贝到开发板,运行程序 root@freescale /$ulimit -c unlimited 该命令的作用就是生成core文件,就是程序存在段错误时运行产生的文件 root@freescale /$ ./11 Segmentation fault (core dumped) 这时在根目录下已经产生了core文件 4、将产生的core文件与之前的11文件放在电脑上的同一目录下,在命令行使用gdb进行源码级调试 如图可以看到第5行指针赋值出错已经列出。
二、Qt程序 1、Qt程序的调试过程与命令行大同小异,首先编写崩溃程序如下 void MainWindow::on_checkBox_toggled(bool) { int *p=NULL; *p=1; } 当勾选CheckBox的时候,程序崩溃 2、修改Qt程序的Makefile, 在图中位置增添-g参数,再进行编译 2、这里将程序设置成自启动,在启动脚本中也需要加上ulimit -c unlimited命令, 在程序执行之前执行该命令 3、同样将core文件与可执行文件放在电脑上的同一目录下,在命令行使用gdb进行源码级调试
同样代码错误也清楚显示出来 ------------------------------------------------ 产品信息 ------------------------------------------------
iMX6Q 开发板 :www.forlinx.com/73.htm |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
[技术] 【飞凌嵌入式OK3576-C开发板体验】llama2.c部署
6072 浏览 0 评论
6822 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】ssh连接与文件传输
6795 浏览 0 评论
8148 浏览 0 评论
【飞凌嵌入式OK527N-C开发板体验】6.制作h264播放器
7564 浏览 0 评论
6765浏览 2评论
3222浏览 2评论
11096浏览 1评论
5182浏览 1评论
83606浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 20:14 , Processed in 0.604120 second(s), Total 40, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号