imx6 linux调试平台,iMX6Q调试篇-Linux程序开发使用gdb调试
平台: OKMX6Q-S2平台 (ARM Cortex-A9 i.MX6Q)
环境: Linux
一、 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进行源码级调试
同样代码错误也清楚显示出来
imx6 linux调试平台,iMX6Q调试篇-Linux程序开发使用gdb调试相关推荐
- 通过vscode进行嵌入式linux arm开发板gdb调试
下载和安装vscode, 下载 vscode for windows 地址: Visual Studio Code - Code Editing. Redefined 安装 "remote ...
- linux ctg重装,Linux 系统中 CTG 的安装, 应用程序开发以及调试
Linux 系统中 CTG 的安装, 应用程序开发以及调试 准备 1)CICS Transaction Gateway for Multiplatforms, CICS Transaction Gat ...
- 试图运行项目时出错,无法启动调试。没有正确安装调试器,请运行安装程序安装或恢复调试器。...
用Visual Studio.net 2003调试项目时,出现错误对话框,显示如下: 试图运行项目时出错,无法启动调试.没有正确安装调试器,请运行安装程序安装或恢复调试 ...
- .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)
.NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析) 总结日期:2019年10月10日 ...
- Linux 中断学习之小试牛刀篇---Linux中断内核编程
原址 前言 在前面分析了中断的基本原理后,就可以写一个内核中断程序来体验以下,也可以借此程序继续深入来了解内核中断的执行过程 一.内核中断程序: 我们还是来看一看成程序: 在看程序之前,要熟悉如何进行 ...
- Linux 基本操作 看完这篇Linux基本的操作就会了
看完这篇Linux基本的操作就会了 前言 只有光头才能变强 本文章主要是总结Linux的基础操作以及一些简单的概念~如果不熟悉的同学可下个Linux来玩玩(或者去买一个服务器玩玩[学生版的不是很贵]) ...
- win7C语言编译调试,如何在Windows的命令行下进行程序编译和gdb调试
作为软件工程的大学生,博主一开始在Windows下的开发环境就是简单的 dev c++ 而已.然而熟悉了Linux Ubuntu下的命令行编译和gdb调试的环境后,就极少使用dev了.这就有个问题,其 ...
- 如何比较两个速度的大小地程序_58安居客小程序平台化与多小程序开发探索与实践...
导语 本文分享58安居客小程序团队在小程序向平台化转型.多小程序同步开发过程中遇到的问题.解决方案与实践. 背景 在提效.服务进阶的大背景下,为了让同一支团队,把一个业务做精做深,提高研发效率,HBG ...
- linux下的C语言开发(gdb调试)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 编写代码过程中少不了调试.在windows下面,我们有visual studio工具.在lin ...
- 硬件编解码开发 linux,Intel平台硬件加速视频编解码开发
视频编解码分为硬件加速以及非硬件加速.硬件加速是指通过显卡,FPGA等硬件进行视频编解码,由于硬件有专门优化,所以性能高,能耗低,非硬件加速编解码是指通过CPU进行视频编解码,性能就没那么高(虽然有相 ...
最新文章
- 15 个 JavaScript Web UI 库
- Spring Boot处理静态资源(自定义资源映射)
- [YTU]_2437 (C++ 习题 比较大小-类模板)
- 初一级练习题(2019.3.8)
- matlab 求解进度,报告测试运行进度的插件
- WordPress插件-Erphp Weixin Scan关注微信公众号一键登录网站
- 计算机组成原理实验内存读数,计算机组成原理实验
- 在delphi原有控件基础上画图
- 数据从mysql迁移至oracle时知识点记录(一)
- 47. 不用加减乘除做加法(C++版本)
- Linux进程管理内核API函数pid_task( )---根据pid获取task_struct
- Android MDM 参考资料
- 机器学习10大经典算法
- 采样准则(时间采样与采样频率)的选取
- cuba_认识CLI for CUBA平台
- java跳转到ie_ie跳转chrome(ie浏览器点击链接跳转谷歌浏览器)
- 原子和非原子oc_原子宝藏
- 精确讲述闭包及内存泄漏
- 制作elasticsearch 镜像_相册视频制作-相册视频制作App下载-
- SpringBoot实现OA办公管理系统
热门文章
- HTML5学习笔记简明版(1):HTML5介绍与语法
- 【Spring-AOP】自动代理类AnnotationAwareAspectJAutoProxyCreator
- @Valid 和 @Validated的使用
- SpringMVC全局异常处理机制常见问题及底层实现分析
- MyCat分片规则之枚举分片
- 常见排序算法之选择排序
- es6-3.webpack应用
- Android 常用adb shell 命令(转)
- .text urlRewrite介绍
- c#机器人聊天软件_3.C#面向对象基础聊天机器人