BUG报告的一个建议

2 views
Skip to first unread message

lerosua

unread,
Mar 12, 2008, 10:24:11 PM3/12/08
to icalk

如果是遇到崩溃这类问题,建议处理如下:

打开您系统的core文件生成:
$ulimited -c unlimited
然后运行程序,比如 
$./icalk
zsh: segmentation fault
在遇到段错误后,检查运行程序的目录,就会发现有生成core文件了。
调用gdb,如下命令:
$gdb icalk core
这样就会打印出信息显示程序崩溃在哪一行:
继续一个命令 bt,
$bt
会打印出崩溃前代码依次的调用。

将上步骤中生成的信息添加为BUG报告的一部分发送过来。
当然您有更好的办法欢迎告诉我。

Deng Xiyue

unread,
Mar 12, 2008, 10:30:42 PM3/12/08
to ic...@googlegroups.com
lerosua <ler...@gmail.com> writes:

> 当然您有更好的办法欢迎告诉我。

未必更好 :)

也可以直接在 gdb 中执行程序,比如 gdb icalk 。这样不必修改 ulimit 就可
以直接得到 backtrace 。

另外对于内存泄露问题, valgrind 能够给出更细致的诊断,推荐使用。

lerosua

unread,
Mar 13, 2008, 12:52:05 AM3/13/08
to ic...@googlegroups.com
"
也可以直接在 gdb 中执行程序,比如 gdb icalk 。这样不必修改 ulimit 就可
以直接得到 backtrace 。
"
这个,没有core文件能得到详细的backtrace吗?

valgrind ,我会试试看的。谢谢推荐。

在08-3-13,Deng Xiyue <man...@gmail.com> 写道:

Deng Xiyue

unread,
Mar 13, 2008, 1:15:13 AM3/13/08
to ic...@googlegroups.com
lerosua <ler...@gmail.com> writes:

> "
> 也可以直接在 gdb 中执行程序,比如 gdb icalk 。这样不必修改 ulimit 就可
> 以直接得到 backtrace 。
> "
> 这个,没有core文件能得到详细的backtrace吗?
>

core 文件记录的信息其实就是给 gdb 用的。从 gdb 里运行 gdb 能够直接获取
那些信息。具体的过程还没研究国,不过大体应该是这样 :)
Reply all
Reply to author
Forward
0 new messages