Linux下程序崩溃,ulimit,coredump,gdbserver

简介: 操作系统:Ubuntu10.04前言:    在程序崩溃后,如何快速定位问题。    以下方法适用于开发调试阶段,不太适用成品。    本文着眼于嵌入式,PC方面更简单。    核心:gdbserver + coredump一,安装,配置,使用 gdbserver    arm linux下安装gd...

操作系统: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,定位异常
        

 

from:http://blog.chinaunix.net/uid-28458801-id-4349219.html

目录
相关文章
|
2天前
|
Linux 开发工具 C语言
Linux 安装 gcc 编译运行 C程序
Linux 安装 gcc 编译运行 C程序
20 0
|
1月前
|
NoSQL 安全 Linux
Linux 中 core dump 文件的作用和使用方法
Linux 中 core dump 文件的作用和使用方法
74 1
|
存储 编译器
Linux--程序地址空间
Linux--程序地址空间
|
1月前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】⭐⭐⭐Linux 限制进程资源 ulimit命令 使用指南
【Shell 命令集合 系统设置 】⭐⭐⭐Linux 限制进程资源 ulimit命令 使用指南
40 0
|
1天前
|
Java Shell Linux
【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?
【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?
|
1月前
|
Shell Linux C语言
【Shell 命令集合 系统设置 内置命令】⭐⭐Linux 测量程序的执行时间和资源使用情况 time命令 使用指南
【Shell 命令集合 系统设置 内置命令】⭐⭐Linux 测量程序的执行时间和资源使用情况 time命令 使用指南
33 0
|
1月前
|
前端开发 Unix Linux
Linux indent命令 (格式化C语言源代码的程序)
Linux indent命令 (格式化C语言源代码的程序)
18 0
Linux indent命令 (格式化C语言源代码的程序)
|
1月前
|
存储 缓存 安全
掌握Linux字符设备驱动程序的核心要点
掌握Linux字符设备驱动程序的核心要点
58 0
|
1月前
|
Shell Linux 调度
【Linux】—— 进程程序替换
【Linux】—— 进程程序替换
|
1月前
|
Java Linux Shell
进程的程序替换(exec函数)【Linux】
进程的程序替换(exec函数)【Linux】