我正在开发的一个驱动程序引起了BSOD。不幸的是,转储文件没有被创建,因为它没有配置/低资源。我试着重现这场车祸,但到目前为止还没有什么好运气。
是否有任何方法可以使用WinDbg或其他工具获取一些信息?我有这样的信息:
除了垃圾堆我什么都有。
你的帮助将不胜感激。
如前所述,不存在转储(/minidump)。这才是真正的问题。
对于这个特定的崩溃,我知道我无法得到堆栈。只需要得到具体的代码行就足够了。因为BSOD包含模块的地址,所以应该有一种方法来检测到底是哪一行。正如我前面提到的,我确实有.sys文件、pdb和源代码。
这是取自MSDN:例外的特定代码。从那里我怎么知道具体的路线是什么?和/或提出的具体例外?
发布于 2012-07-03 03:13:12
您有崩溃地址,想知道源行吗?
启动kd或windbg,中断其前面的地址和代码。找到函数入口点(在那里它调整堆栈),现在可以查找符号表。从那里你再一次的分裂,并比较来源。
对不起,我想你需要读一些asm。我不知道更好的方法。
发布于 2012-07-02 08:52:11
如果你幸运的话,你将在C:\windows中有微型的,所以检查它是否在那里。如果可以的话,在Windbg中打开并分析。您不需要为创建转储配置低资源,请参考此链接http://support.microsoft.com/kb/254649,介绍如何设置窗口以创建转储文件。如果要调试驱动程序,请创建完整转储。
回到你的问题上来分析问题:
但你不太可能用你掌握的信息得出好的结论。您需要转储文件才能真正理解这个问题。
https://stackoverflow.com/questions/11290271
复制相似问题