如何报告Bug,常用信息的收集,方法等
2011-06-24 16:19
239 查看
报告什么?
你可能需要在你的bug报告中包括log,配置或者样本文件
系统信息
你的Linux发行版或者操作系统,比如:
Red Hat7.1
Slackware 7.0 + devel packs from 7.1 ...
内核版本:
uname -a
libc版本:
ls -l /lib/libc[.-]*
X版本:
X -version
gcc和ld版本:
gcc -v
ld -v
binutils版本:
as --version
如果是全屏模式的问题:
窗口管理器类型和版本
如果是关于XVIDIX的问题:
X色深:
xdpyinfo | grep "depth of root"
如果是buggy的GUI:
GTK版本
GLIB版本
libpng版本
bug发生时GUI的状态
硬件和驱动
CPU信息(仅用于Linux):
cat /proc/cpuinfo
显卡制造厂和型号,例如:。
ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM
Matrox G400 DH 32MB SGRAM
显卡驱动类型 & 版本,e.g:。
X built-in driver
nVidia 0.9.623
Utah-GLX CVS 2001-02-17
DRI from X 4.0.3
声卡类型 & 驱动,例如:。
Creative SBLive! Gold with OSS driver from oss.creative.com
Creative SB16 with kernel OSS drivers
GUS PnP with ALSA OSS emulation
如果不放心的话对linux系统可以再附上lspci -vv的输出。
配置问题
如果你在运行./configure时有问题,或者什么东西的自动检测失败,检查configure.log。你可能会在那里找到 答案,比如你的机器上存在同一个库的多个版本混合存在的问题。或者你忘记安装开发包(那些-dev后缀的)。如果你认为有bug,在你的bug报告 中附上configure.log。
编译问题
请附上下列文件:
config.h
config.mak
如果编译失败发生在下面的目录,附上这些文件:
Gui/config.mak
libvo/config.mak
libao2/config.mak
崩溃
你应该在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>
你可能需要在你的bug报告中包括log,配置或者样本文件
系统信息
你的Linux发行版或者操作系统,比如:
Red Hat7.1
Slackware 7.0 + devel packs from 7.1 ...
内核版本:
uname -a
libc版本:
ls -l /lib/libc[.-]*
X版本:
X -version
gcc和ld版本:
gcc -v
ld -v
binutils版本:
as --version
如果是全屏模式的问题:
窗口管理器类型和版本
如果是关于XVIDIX的问题:
X色深:
xdpyinfo | grep "depth of root"
如果是buggy的GUI:
GTK版本
GLIB版本
libpng版本
bug发生时GUI的状态
硬件和驱动
CPU信息(仅用于Linux):
cat /proc/cpuinfo
显卡制造厂和型号,例如:。
ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM
Matrox G400 DH 32MB SGRAM
显卡驱动类型 & 版本,e.g:。
X built-in driver
nVidia 0.9.623
Utah-GLX CVS 2001-02-17
DRI from X 4.0.3
声卡类型 & 驱动,例如:。
Creative SBLive! Gold with OSS driver from oss.creative.com
Creative SB16 with kernel OSS drivers
GUS PnP with ALSA OSS emulation
如果不放心的话对linux系统可以再附上lspci -vv的输出。
配置问题
如果你在运行./configure时有问题,或者什么东西的自动检测失败,检查configure.log。你可能会在那里找到 答案,比如你的机器上存在同一个库的多个版本混合存在的问题。或者你忘记安装开发包(那些-dev后缀的)。如果你认为有bug,在你的bug报告 中附上configure.log。
编译问题
请附上下列文件:
config.h
config.mak
如果编译失败发生在下面的目录,附上这些文件:
Gui/config.mak
libvo/config.mak
libao2/config.mak
崩溃
你应该在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>
相关文章推荐
- 如何报告Bug,常用信息的收集,方法等
- 如何做好系统集成测试【二、了解你的被测系统-信息收集方法】
- DBMS_STATS常用方法(收集oracle信息)
- Android客户端收集Crash信息的常用方法
- 【iOS开发-25】UIDevice查看系统信息,从一个问题开始如何快速找到自己想要的属性和方法并看懂它
- [Bug Report] jQuery EasyUI 1.3 : Propertygrid插件在使用方法appendRow显示时,无法显示Group信息
- Visual C#常用函数和方法集汇总(收集) yanglilibaobao () Blog
- Android 如何收集已发布程序的崩溃信息
- 如何有效的报告BUG
- ios 开发,通讯录信息调用常用方法,这个比较全,不用再整理了;
- 如何有效地解Bug (RED方法)
- 描述下jvm的gc机制,常用的jvm调优方法,oom如何产生,如何处理oom 问题?
- wget常用使用方法收集
- 如何用js得到当前页面的url信息方法(JS获取当前网址信息)
- yeslab的视频---“信息收集”学习报告
- 5.最常用的10种CSS BUG解决方法与技巧-浏览器兼容教程
- VC 常用方法收集(转)
- javascript常用方法函数收集
- 收集常用的Python 内置的各种字符串处理 函数的使用方法
- Sublime Text 3如何快速生成HTML5的头部信息和常用的快捷键