Linux crash dump文件生成与使用
2008-10-21 18:17
411 查看
Linux crash dump文件生成与使用
Version 1.1 2008-10-28不像Windows程序需手动调用相关函数,Linux程序crash dump(称为core dump)文件会在程序崩溃(如SIGSEGV)时自动生成,只需要在之前设置了一个参数即可——当然,windows的方式能够支持更灵活的功能。
生成:
1, 使用ulimit -c unlimited设置参数(unlimited表示dump文件大小无限制,否则会截断到设置大小),或在程序中调用setrlimit进行设置;
2, 在发生SIGSEGV时系统会自动在程序目录下生成core.xxxx文件,此即dump文件;
注意,此时程序不能再注册SIGSEGV[/b]的处理函数![/b]
使用gdb分析dump文件:
1, 执行gdb:gdb –core=core.xxxx
2, 在gdb中加载符号文件:file ./a.out
上两步也可以统一成:gdb a.out core.xxxx
3, 定位到出错代码:where或backtrace,将显示#x[/b]这样的堆栈信息
4, 查看更详细的函数调用信息:frame x,x为#后的数字
一段setrlimit代码:
rlimit lmt;
lmt.rlim_cur = 1024*100;
lmt.rlim_max =
RLIM_INFINITY;
return -1 !=
setrlimit(RLIMIT_CORE, &lmt);
另外:程序的symbols直接保存在可执行文件中,一种处理方式是使用-g编译生成可执行文件,发布时再使用命令strip去掉symbols
参考:man dump、man 2 setrlimit;
相关文章推荐
- android Linux crash dump文件生成与使用
- Linux crash dump文件生成与使用
- Linux crash dump文件生成与使用
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- 使用 Crash 工具分析 Linux dump 文件
- LINUX库文件的生成与使用
- Linux下静态库.a与.so库文件的生成与使用
- linux使用dd命令快速生成大文件
- Linux环境下静态库的生成和使用 (.a文件)