Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6895336
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: 嵌入式

2014-07-12 11:35:57

操作系统:Ubuntu10.04

前言:
    在程序崩溃后,如何快速定位问题。
    以下方法适用于开发调试阶段,不太适用成品。
    本文着眼于嵌入式,PC方面更简单。
    核心:gdbserver + coredump

一,安装,配置,使用 gdbserver
    arm linux下安装gdb,gdbserver调试器


二,启动 coredump
    linux下ulimit命令下的coredump 

三,实例
    1,源码

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>


  4. static    void    fun(char* a,char *b)
  5. {
  6.     strcpy(a,"hello world");
  7.     strcpy(b,"wo shi zhong guo ren");

  8.     printf("%s,%s\n",a,b);
  9. }


  10. int main(int argc,char *argv[])
  11. {
  12.     char temp[5] = {0};
  13.     char temp2[5] = {0};
  14.     fun(temp,temp2);
  15.     
  16.     return 0;
  17. }

    2,结果
    
    

    3,通过gdbserver来查看异常所在
        a,设备,启动gdbserver
        

        b,pc机,调试设备中的程序
        

        c,pc机上的gdb中输入where,定位异常
        


阅读(394) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~