报告什么?
你可能需要在你的bug报告中包括log,配置或者样本文件
系统信息
硬件和驱动
配置问题
如果你在运行./configure时有问题,或者什么东西的自动检测失败,检查configure.log。你可能会在那里找到 答案,比如你的机器上存在同一个库的多个版本混合存在的问题。或者你忘记安装开发包(那些-dev后缀的)。如果你认为有bug,在你的bug报告 中附上configure.log。
编译问题
请附上下列文件:
如果编译失败发生在下面的目录,附上这些文件:
崩溃
你应该在gdb里面运行程序并把完整的输出发送给开发人员,或者你有一个崩溃产生的core dump,你可以从Core文件中提取 有用的信息,下面教你怎么做:
如果你的崩溃有一个core dump那么继续阅读下一段,否则跳过它。
如何保存一个可重复的崩溃的信息
开启调试代码重新编译程序:
./configure --enable-debug=3
make
然后用gdb运行程序:
gdb 程序
现在你在gdb内。输入:
run -v [options-to-程序] filename
然后再现你的崩溃。一旦你成功了,gdb将回到命令行,你需要输入
bt
disass $pc-32 $pc+32
info all-registers
如何从一个core dump中提取出有意义的信息
请建立下面的命令文件:
bt
disass $pc-32 $pc+32
info all-registers
然后直接在你的命令行下执行下列命令:
gdb 程序 --core=core -batch --command=command_file > 程序.bug
源文档 <http://blog.csdn.net/weihj1999/archive/2006/11/23/1409432.aspx>