谁持有这些对象的引用
我看到 dumpheap -stat 命令显示了我的对象的 5 个实例。当我运行 dumpheap -MT 时,它列出了所有这 5 个实例。理论上应该只有 2 个实例。是否有任何 …
SYMBOL_INFO.寄存器值定义
这个结构体的寄存器成员是如何定义的? MSDN 中的文档是: 注册 注册器。 寄存器是如何定义的,x86 的值 0x16 的含义是什么? Local var @ 0x123584 T…
如何下载正确版本的 mscordacwks 和 mscorwks?
我正在尝试使用 Windbg 和 SOS 分析 IIS 内存转储,并遇到了上述文件版本的问题。我的问题是 - 有没有办法下载这些文件的不同版本?假设我无权访问服…
调试 Windows 资源管理器扩展中的内存泄漏
大家好, 我是一个相当大的 C# Windows 资源管理器扩展的开发人员。正如您可以想象的那样,涉及很多 P/Invoke,不幸的是,我已经确认它在某处泄漏了非…
Windbg:获取在 UnhandledExceptionFilter 中创建的小型转储的堆栈跟踪
我通过执行以下操作设置未处理的异常过滤器: SetUnhandledExceptionFilter(UnhandledException) 并在我的 UnhandledException 函数中,我使用 MiniDu…
从内存地址到源代码行
我正在使用 WinDBG 并具有以下堆栈跟踪: ntdll!NtTerminateProcess+0xa KERNELBASE!TerminateProcess+0x2f MSVCR90!_invoke_watson+0x11c [f:\dd\vct…
使用 WinDBG 识别有缺陷的功能
我已经从 7.1 Windows SDK 安装了 WinDBG。然后,我使用 VC++ 2008 创建了一个程序“CleanPayload.exe”,其中只包含“main”和对故意包含缺陷的函数…
如何获取 SrcSrv 中包含的 svnindex.cmd 脚本来索引其中包含 URI 转义空格的源文件?
我最近设置了一个符号服务器并添加了 SrcSrv 支持我们的构建脚本,以便我们可以轻松地从现场调试故障转储,并让 WinDbg 和/或 Visual Studio 调试器从…
使用用户模式转储确定 WinDbg 中的线程等待时间
WinDbg 有什么方法可以确定 Windows 线程从什么日期/时间开始被 WaitForSingleObjects 或 WaitForMultipleObjects 等函数阻塞? 我知道如何在内核调试…
“默认应用程序池”与万维网发布服务发生致命通信错误
每次访问该站点时,我都会收到事件日志条目: Event Type: Error Event Source: VsJITDebugger Event Category: None Event ID: 4096 User: NT AUTHOR…
!堆失败。 ntdll!_HEAP_ENTRY 的类型信息无效
我正在尝试从 Windows Server 2003 SP2 x86 上的完全转储内存文件转储堆信息。转储是为在 Windows Server 2003 SP2 x64 计算机上运行的 32 位混合(本…
有没有办法调试VC++使用 Eclipse/WinDbg 编译应用程序?
我目前使用 Eclipse 作为我的主编辑器和 C/C++ 项目的源浏览器。唯一的问题是,每次需要调试或跟踪时,我都必须切换到 Visual C++。有没有办法让Eclip…
WinDbg 和 SoS,如何打印/转储大字符串?
我正在使用带有 SoS 扩展的 WinDbg 调试来自生产服务器的hangdump。 其中一个堆栈中有一个字符串参数,我需要知道它的值。但是,它是一个相当大的字符…
!threads 命令显示 XXX 线程 ID
当我运行 !threads 命令时,在最左边的几列中,我看到 id 为 XXX。我的理解是这意味着死线程。这是否包括任何退出(正常或不正常)的线程,还是任何未…