ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
沪ICP备05041459号
About AdvDbg Consult Train Services Products Tools Community Contact   登录 | 注册
Post Print Search
帖子排序:    
帖子发起人: ouer   发起时间: 2008-08-18 08:38 AM   回复: 3
ouer1972 离线,最后访问时间: 10/8/2008 2:17:36 PM ouer

无等级
注册: 2008-05-12
发 贴: 4
问个简单问题
 2008-08-18, 08:38 AM Reply Quote

原来在这里询问过一双机连接的问题,很快得到了帮助,虽然不能直接解决问题,但也很受启发,在此感谢!

另外问个新问题:在蓝屏前设置了完全内存转储,但在windbg中,可以看到各个模块(lm),只有加载了符号文件的模块,才能用u看到具体的代码,并且不是蓝屏之前的情况,而是正常的情况(我修改过的地方又不见了),这是不是可以说,转储文件中,即使选择的是完全转储,也不是把内核中的内容完整的dump出来?还是我的查看命令用错了,不是用dd或者u,请指教!

IP 地址: 已记录   报告
Raymond 离线,最后访问时间: 11/18/2008 11:58:41 PM Raymond

无等级
注册: 2005-12-19
发 贴: 204
Re: 问个简单问题
 2008-08-18, 13:12 PM Reply Quote
首先,u命令是可以在没有符号的情况下工作的,前提是你知道要反汇编代码的内存地址。举例来说,你如果只知道函数名,希望使用u mydrv!myfunc这样的命令来反汇编,那么需要符号,但是如果你知道myfunc函数的地址,那么当然可以直接使用u 的方法。
完整转储保存的是物理内存的内容,如果你的代码是Pagable(可交换的),那么它可能被交换到硬盘上的pagefile中,这就有可能不被包含在转储文件中了。
建议你还是使用内存观察命令和直接放汇编地址的方法试验一下,如果还有问题,最好把你的做的过程描述一下(paste些关键细节)。
IP 地址: 已记录   报告
ouer1972 离线,最后访问时间: 10/8/2008 2:17:36 PM ouer

无等级
注册: 2008-05-12
发 贴: 4
Re: 问个简单问题
 2008-08-18, 14:02 PM Reply Quote

那完全转储最后得到的文件Mini081208-01.dmp 只有64k大小,这正常吗?

我的步骤就是:

1、控制面板下设置转储方式为完全内存转储,还有就是立即重启电脑取消,这下蓝屏之后就慢慢的等到100%,差不多要了10分钟以上。

2、重启电脑,到windows目录下找到Minidump目录下,看到了最新的dmp文件,但只有几十k,呵呵,怕是小了点,我也不知道

IP 地址: 已记录   报告
WANGyu 离线,最后访问时间: 11/17/2008 1:33:25 PM 王宇

无等级
男
注册: 2007-05-08
发 贴: 100
Re: 问个简单问题
 2008-08-18, 14:20 PM Reply Quote
如果你是今天做的测试,那么文件名肯定不会是081208,而且你也不应该在Minidump文件夹下找Complete Memory dump呀,“控制面板下设置转储方式为完全内存转储”的下面就是文件名和路径的设置,所以你应该找类似于“%SystemRoot%\MEMORY.DMP”的文件。

Mini Dump的大小在32位系统下是64KB,64位系统下是128KB,所以这正常。
IP 地址: 已记录   报告
高端调试 > 软件调试 > Windows内核调试 > 问个简单问题
 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2005 Advanced Debugging Ltd. All Rights Reserved.