平台: 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调试相关推荐

  1. 通过vscode进行嵌入式linux arm开发板gdb调试

    下载和安装vscode, 下载 vscode for windows 地址:  Visual Studio Code - Code Editing. Redefined 安装 "remote ...

  2. linux ctg重装,Linux 系统中 CTG 的安装, 应用程序开发以及调试

    Linux 系统中 CTG 的安装, 应用程序开发以及调试 准备 1)CICS Transaction Gateway for Multiplatforms, CICS Transaction Gat ...

  3. 试图运行项目时出错,无法启动调试。没有正确安装调试器,请运行安装程序安装或恢复调试器。...

            用Visual Studio.net 2003调试项目时,出现错误对话框,显示如下:         试图运行项目时出错,无法启动调试.没有正确安装调试器,请运行安装程序安装或恢复调试 ...

  4. .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)

    .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析) 总结日期:2019年10月10日                                             ...

  5. Linux 中断学习之小试牛刀篇---Linux中断内核编程

    原址 前言 在前面分析了中断的基本原理后,就可以写一个内核中断程序来体验以下,也可以借此程序继续深入来了解内核中断的执行过程 一.内核中断程序: 我们还是来看一看成程序: 在看程序之前,要熟悉如何进行 ...

  6. Linux 基本操作 看完这篇Linux基本的操作就会了

    看完这篇Linux基本的操作就会了 前言 只有光头才能变强 本文章主要是总结Linux的基础操作以及一些简单的概念~如果不熟悉的同学可下个Linux来玩玩(或者去买一个服务器玩玩[学生版的不是很贵]) ...

  7. win7C语言编译调试,如何在Windows的命令行下进行程序编译和gdb调试

    作为软件工程的大学生,博主一开始在Windows下的开发环境就是简单的 dev c++ 而已.然而熟悉了Linux Ubuntu下的命令行编译和gdb调试的环境后,就极少使用dev了.这就有个问题,其 ...

  8. 如何比较两个速度的大小地程序_58安居客小程序平台化与多小程序开发探索与实践...

    导语 本文分享58安居客小程序团队在小程序向平台化转型.多小程序同步开发过程中遇到的问题.解决方案与实践. 背景 在提效.服务进阶的大背景下,为了让同一支团队,把一个业务做精做深,提高研发效率,HBG ...

  9. linux下的C语言开发(gdb调试)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 编写代码过程中少不了调试.在windows下面,我们有visual studio工具.在lin ...

  10. 硬件编解码开发 linux,Intel平台硬件加速视频编解码开发

    视频编解码分为硬件加速以及非硬件加速.硬件加速是指通过显卡,FPGA等硬件进行视频编解码,由于硬件有专门优化,所以性能高,能耗低,非硬件加速编解码是指通过CPU进行视频编解码,性能就没那么高(虽然有相 ...

最新文章

  1. 15 个 JavaScript Web UI 库
  2. Spring Boot处理静态资源(自定义资源映射)
  3. [YTU]_2437 (C++ 习题 比较大小-类模板)
  4. 初一级练习题(2019.3.8)
  5. matlab 求解进度,报告测试运行进度的插件
  6. WordPress插件-Erphp Weixin Scan关注微信公众号一键登录网站
  7. 计算机组成原理实验内存读数,计算机组成原理实验
  8. 在delphi原有控件基础上画图
  9. 数据从mysql迁移至oracle时知识点记录(一)
  10. 47. 不用加减乘除做加法(C++版本)
  11. Linux进程管理内核API函数pid_task( )---根据pid获取task_struct
  12. Android MDM 参考资料
  13. 机器学习10大经典算法
  14. 采样准则(时间采样与采样频率)的选取
  15. cuba_认识CLI for CUBA平台
  16. java跳转到ie_ie跳转chrome(ie浏览器点击链接跳转谷歌浏览器)
  17. 原子和非原子oc_原子宝藏
  18. 精确讲述闭包及内存泄漏
  19. 制作elasticsearch 镜像_相册视频制作-相册视频制作App下载-
  20. SpringBoot实现OA办公管理系统

热门文章

  1. HTML5学习笔记简明版(1):HTML5介绍与语法
  2. 【Spring-AOP】自动代理类AnnotationAwareAspectJAutoProxyCreator
  3. @Valid 和 @Validated的使用
  4. SpringMVC全局异常处理机制常见问题及底层实现分析
  5. MyCat分片规则之枚举分片
  6. 常见排序算法之选择排序
  7. es6-3.webpack应用
  8. Android 常用adb shell 命令(转)
  9. .text urlRewrite介绍
  10. c#机器人聊天软件_3.C#面向对象基础聊天机器人