阅读:1453回复:6
如何实现汇编级驱动调试
blue screen时,经常会告诉你出错的地址,如何从这个地址知道这个地址对应的源代码?请提供相关的资料,谢谢!!!!!!wdasm能否实现这个功能?
|
|
沙发#
发布于:2004-05-26 19:37
windbg不错,个人爱好用SOFTICE,汇编级调试是一种补充手段,特别是源码调试看不出来的情况下
|
|
板凳#
发布于:2004-05-25 22:24
对于BSOD建议崩溃转储核心内存,然后用WinDbg分析,基本上都可以找到问题
|
|
地板#
发布于:2004-05-24 19:07
谢谢,给分了,有没有讲汇编级调试技巧的文章
[编辑 - 5/24/04 by hourtime] |
|
地下室#
发布于:2004-05-24 16:23
前面所说的主要针对RING3的程序,驱动由于在内核层,2G以上地址共享,所以一般不会固定地址,你可以用SOFTICE的MOD命令,找到模块基地址,然后用你的出错地址减基地址再减入口点地址看看。
|
|
|
5楼#
发布于:2004-05-24 15:59
再请教一下,基地址是不是指结构optional header中的imageBase字段,如果是,怎么是0x10000,入口点的地址也怎么只有0xBC4E,而BSOD的地址是0xb6aa1e70。如果我理解错了,请问基地址和入口地址是指pe文件中的哪个字段?十分感谢!!!!!1
|
|
6楼#
发布于:2004-05-24 12:35
W32DASM出来的是相对地址,而BSOD的是内存地址,一般你需要减掉驱动PE头中的基地址和入口点,即可定位到出错地址.
|
|
|