gpt4 book ai didi

debugging - WinDbg 可以看到的模块数量是否有上限?

转载 作者:行者123 更新时间:2023-12-04 18:49:41 26 4
gpt4 key购买 nike

有谁知道WinDbg可以看到的DLL数量是否有上限?我相信 Visual Studio 曾经的上限为 500,但除了工作中的一些二手帐户之外,我找不到此声明的来源。

我正在尝试调试一个毛茸茸的场景,而 WinDbg 的堆栈跟踪不完整。根据 Process Explorer,我感兴趣的模块已加载,但未显示在 WinDbg 中的“lm”输出中。

可疑的是,所说的输出正好是 500 个模块长,尽管我知道加载的模块不止于此,这让我相信 WinDbg 没有看到超过前 500 个的 DLL。有人可以确认吗?或者提出一些其他原因,为什么加载的模块可能不会出现在 'lm' 中?

编辑 :经过进一步调查,我能够让 WinDbg 加载查看我需要的模块,方法是在加载该模块之前先附加调试器。

在我看来,在附加到进程后,调试器引擎只会看到前 500 个 dll,但会正确处理后续加载。不过,我仍然希望获得 WinDbg 专家的确认,或者更好的是,在附加时绕过处理 500 多个模块!

最佳答案

有一个registry key控制调试器可以看到的调试器消息的数量。
当您将值增加到例如2048 你可以看到所有加载的dll。

这是相关的关键:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

DWORD DebuggerMaxModuleMsgs = 例如2048

关于debugging - WinDbg 可以看到的模块数量是否有上限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8186687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com