- 浏览: 60912 次
- 性别:
- 来自: 武汉
*****************************************1***************************************
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <string.h>
void dump(int signo)
{
char buf[1024];
char cmd[1024];
FILE *fh;
snprintf(buf, sizeof(buf), "/proc/%d/cmdline", getpid());
if(!(fh = fopen(buf, "r")))
exit(0);
if(!fgets(buf, sizeof(buf), fh))
exit(0);
fclose(fh);
if(buf[strlen(buf) - 1] == '\n')
buf[strlen(buf) - 1] = '\0';
snprintf(cmd, sizeof(cmd), "gdb %s %d", buf, getpid());
system(cmd);
exit(0);
}
void
dummy_function (void)
{
unsigned char *ptr = 0x00;
*ptr = 0x00;
}
int
main (void)
{
signal(SIGSEGV, &dump);
dummy_function ();
return 0;
}
~
*****************************************2***********************
#include <execinfo.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
/* A dummy function to make the backtrace more interesting. */
void
dummy_function (void)
{
unsigned char *ptr = 0x00;
*ptr = 0x00;
}
void dump(int signo)
{
void *array[10];
size_t size;
char **strings;
size_t i;
size = backtrace (array, 10);
strings = backtrace_symbols (array, size);
printf ("Obtained %zd stack frames.\n", size);
for (i = 0; i < size; i++)
printf ("%s\n", strings[i]);
free (strings);
exit(0);
}
int
main (void)
{
signal(SIGSEGV, &dump);
dummy_function ();
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <string.h>
void dump(int signo)
{
char buf[1024];
char cmd[1024];
FILE *fh;
snprintf(buf, sizeof(buf), "/proc/%d/cmdline", getpid());
if(!(fh = fopen(buf, "r")))
exit(0);
if(!fgets(buf, sizeof(buf), fh))
exit(0);
fclose(fh);
if(buf[strlen(buf) - 1] == '\n')
buf[strlen(buf) - 1] = '\0';
snprintf(cmd, sizeof(cmd), "gdb %s %d", buf, getpid());
system(cmd);
exit(0);
}
void
dummy_function (void)
{
unsigned char *ptr = 0x00;
*ptr = 0x00;
}
int
main (void)
{
signal(SIGSEGV, &dump);
dummy_function ();
return 0;
}
~
*****************************************2***********************
#include <execinfo.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
/* A dummy function to make the backtrace more interesting. */
void
dummy_function (void)
{
unsigned char *ptr = 0x00;
*ptr = 0x00;
}
void dump(int signo)
{
void *array[10];
size_t size;
char **strings;
size_t i;
size = backtrace (array, 10);
strings = backtrace_symbols (array, size);
printf ("Obtained %zd stack frames.\n", size);
for (i = 0; i < size; i++)
printf ("%s\n", strings[i]);
free (strings);
exit(0);
}
int
main (void)
{
signal(SIGSEGV, &dump);
dummy_function ();
return 0;
}
发表评论
-
C++内存管理
2011-09-19 10:45 7651 内存管理 伟大的Bill G ... -
有用的网址
2011-08-04 12:44 595http://searchdns.netcraft.com/ -
vim高级应用
2011-08-04 10:29 979命令模式: “s”为表 ... -
c/c++ 调试
2011-06-08 15:31 802readelf -s a.out 可以查看符号表,就能找到对应 ... -
网站列表
2011-02-25 09:48 655http://www.rosoo.net/ NO ... -
高性能服务器注意事项
2011-01-18 13:09 807对于这里所说的服务器,更精确的定义应该是每秒处理大量离散消息或 ... -
在 Linux 平台中调试 C/C++ 内存泄漏方法
2010-10-20 15:56 888由于 C 和 C++ 程序中完全由程序员自主申请和释放内存 ... -
用socket编写C/S结构程序的流程图
2010-10-08 17:07 24351.面向连接的套接字的系统调用时序图 无连接协议的套接字调用 ... -
将文件读入内存
2010-09-14 17:35 1080将文本文件读入内存。需要用到fseek、fread和ftell ... -
STL中的容器的遍历的使用方法
2010-08-12 17:39 2047STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器 ... -
50 c/c++ 源码网站
2010-08-03 15:47 7571、http://snippets.dzone.com/tag ... -
值得注意的函数
2010-08-03 13:48 525函数 严重性 解决 ... -
调用系统命令
2010-08-02 12:52 605int get_system_info(char* cmdst ... -
结构体对齐
2010-07-30 13:59 12901,比如: struct{ short a1; sh ... -
LINUX c++线程池框架
2010-07-15 11:25 1381本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进 ... -
一个简单的linux线程池
2010-07-12 18:10 948线程池:简单地说,线程池 就是预先创建好一批线程,方便、快速 ... -
文件字符串处理
2010-06-30 09:12 671#include <iostream> #incl ... -
不能用类成员函数作为线程函数
2010-06-29 17:12 824不能用类成员函数作为线程函数 -
c++ 字符串替换
2010-06-24 10:43 948#include <string> #incl ...
相关推荐
WinCE串口调试程序 WinCE串口调试程序 WinCE串口调试程序
串口调试程序。。串口调试程序。。。串口调试程序。。串口调试程序。。串口调试程序。。串口调试程序。。串口调试程序。。
用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序
陈浩-用GDB调试程序(整理有书签).pdf+守望的个人博客-GDB调试指南(整理有书签).pdf
用GDB调试程序 重新编排,整洁美观。 GDB 概述 GDB 是GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方 式的,像VC、BCB 等IDE 的调试,但如果你是在 UNIX 平台下做软件,你...
串口调试程序源文件,方便用户进行嵌入式开发的学习!
串口调试程序sscom32,挺好用的 串口调试程序sscom32,挺好用的
串口通信调试程序
用GDB调试程序
VC如何调试程序,可以帮助差错哦,更好地理解程序流程,很好用的
GDB调试程序[陈皓] GDB调试工具指南 两个pdf文件
用GDB调试程序(zt).pdf
《AIX5.3通用编程概念:编写并调试程序》《AIX5.3通用编程概念:编写并调试程序》
labview 与 串口设备的通信调试程序
使用 dbx 调试程序 Sun™ Studio 11 dbx的命令學習大全及使用方法
电动车控制器程序 STM8S903双模调试程序
串口调试程序,解决串口调试问题 串口调试程序,解决串口调试问题 串口调试程序,解决串口调试问题 串口调试程序,解决串口调试问题 串口调试程序,解决串口调试问题 串口调试程序,解决串口调试问题
基于stm32f407的串口调试 程序,波特率设置 iO口配置,已经过测试