windbg相关内容
我有一个内存转储(非托管进程)。 如何提取(使用windbg)加载到进程中的dll之一?我的意思是实际上将dll文件保存到磁盘中。 解决方案 您可以在windbg目录中使用sos.dll。 首先,将sos.dll加载到windbg中: .load clr10\ sos.dll 然后使用!sam或!SaveAllModule提取特定磁盘位置上的模块:
..
我正在尝试在WinDbg中加载dll并出现此错误。 使用VisualC ++ Express构建A.dll。 将A.pdb和A.dll放在d:\test\目录中。 将图像路径和符号路径设置为d:\test .sympath给出 OK D :\test 使用以下命令尝试加载 .reload / f A.dll 它给出了
..
我刚开始进行驱动程序开发。对于一些加载,卸载和调试的实验,我编写了以下简单的驱动程序: #include void DriverUnload(PDRIVER_OBJECT pDriverObject) { UNREFERENCED_PARAMETER(pDriverObject); DbgPrint(“ Driver unloading\n”); }
..
我是WinDbg的新手,是从64位Windows 2008 Server的WER ReportQueue文件夹中获得此转储的。 我需要检查转储,并要在安装了Windows调试工具包的开发人员计算机上进行检查。 当我尝试加载SOS时,遇到了以下我从未见过的错误: 0:035> ; .loadby sos mscorwks 对LoadLibrary(C:\Windows\Micros
..
我在Windows 7上有一个使用MSVC 2013和CDB调试器的Qt 5.4项目。 当我尝试调试程序时,调试日志显示调试器崩溃。我无需调试即可运行该程序。 相关错误消息是 无法执行'“ C:。 “ 。Qt\build-GENOVA-> Clone_of_Desktop_Qt_5_4_0_MSVC2013_64bit-Debug\debug\GENOVA.exe”,Win32错误>
..
我在调试DLL时遇到问题,该DLL在构建后的过程中已被重命名:WinDBG无法加载正确的符号(pdb文件)。 示例: 原始文件名原为:abc.dll 创建的PDB命名为:abc.pdb 在构建后的过程中,DLL重命名为“ ab.DLL”。 出于某些原因,调试时我可以看到该模块显示为“ a_b.dll”(下划线代替了连字符,不知道为什么会这样)。此外,WinDBG无法加载其符号。
..
我正在尝试从Windows Server 2003 SP2 x86上的完整转储内存文件中转储堆信息。转储是为在Windows Server 2003 SP2 x64计算机上运行的32位混合(本机/ clr)应用程序创建的。 从下面的windbg日志中,我了解到加载的ntdll.dll映像不正确,并且与ntdll.pdb符号不对应。我尝试从目标计算机指定ntdll.dll的位置,但是windb
..
我使用了!address -RegionusageIsVAD ,发现条目非常大。 如何我可以查看谁写入了此数据以及该特定地址中的数据吗? 示例输出: 099230000:099230000-01000000 类型00020000 MEM_PRIVATE 保护00000004 PAGE_READWRITE 状态00001000 MEM_COMMIT 用法RegionUsa
..
我有一个过程,显示约4,294,965,900个“当前逻辑线程”(根据性能计数器)和约400个物理线程。 使用ADPlus(-hang)创建了一个内存转储,而windbg(!threads)仅向我显示了物理线程。 如何找出所有这些逻辑线程的位置 解决方案 我如何找出所有这些逻辑线程的来源? / p> 不是。它们不存在。您根本无法拥有40亿个任何类型的线程,除非您在64
..
我们看到很多如下所示的调用栈,我可能知道什么情况?这种情况会发生吗? OS线程ID:0x48654(559) 当前帧:ntdll!NtWaitForSingleObject + 0xa Child-SP RetAddr调用者,被调用者 00000020a76cf480 00007fffd4ea1118 KERNELBASE!WaitForSingleObjectEx + 0x94,调
..
是否有Windbg / NTSD命令告诉我在实时调试会话中附加的进程是32位的还是64位的? 您能同时告诉我吗? 非托管流程? 和 受管理的人吗? 对于托管对象,我可以在C#中以编程方式找到它,但是我仍然想知道是否有Windbg命令。 更新 我要调试的目标进程是Microsoft Word(winword.exe)。 Office版本是2016,但是我不确
..
当我阅读文档关于sos.dll时@MSDN ,遇到提示说 如果使用的是Visual Studio 2013,则Windows调试器支持SOS.dll。在Visual Studio中 我知道如何在Visual Studio 2012的即时窗口中使用sos.dll。但是如何使用sos.dll使用Visual Studio 2013调试器? 解决方案 来自 Visual Studio
..
我偶尔使用WinDBG来分析无法安装VS的生产环境中的问题。毫无疑问,它是一个非常强大的工具,但是使用它有点烦人。即使产品经常更新,其GUI仍可以追溯到Win95天左右,因此其可用性也相应。对于现代桌面应用程序而言,必须以GUI方式按我想要的方式来布局窗口,并且必须记住所有这些文本命令,这是非常低的标准。 AFAIK,WinDBG几乎是建立在CDB(命令行调试器)之上的。如此,构建一个可以替
..
是编程和调试的新手。 我花了很多时间离线(没有互联网),并且正在阅读《 Inside Windows Debugging》一书,但有时有时候,我发现自己需要一个pdb文件。 我做了一些挖掘,发现了以下URL: http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx ,但是版本太多,我花了一些时间试图弄清楚如何找到正确
..
我在C#和C ++中有一些代码(在一个项目中)。 该代码有些崩溃,我试图找到它。 ,但是此崩溃不会在任何时候重现-我找不到它。 我想配置代码/ Windows OS在崩溃时创建转储文件。 我的局限性是……我对崩溃崩溃的机器的访问权限有限-这不是开发机器..这是测试实验室机器 那么,该怎么做? 如何更改在任何崩溃时将创建的新转储文件的解决方案中的属性? (目的是能够分析
..
我有一个客户应用程序的故障转储,该应用程序使用我们在WinDbg中进行分析的非常老版本的dll(发行版本,没有原始符号)构建。 为了获得更多信息,我这次使用相同的编译器版本在释放模式下重新构建了dll,并带有符号,并且我相信与最初构建dll时相同的设置。我将符号文件添加到了符号路径中,但是WinDbg扩展名!itoldyouso告诉我转储中的模块与PDB文件不匹配。启用SYMOPT_LO
..
我正在尝试对间歇性死锁的COM +应用程序进行故障排除。上一次锁定它时,我能够对dllhost进程进行用户模式转储,并使用WinDbg对其进行分析。在检查了所有线程和锁之后,所有内容都归结为该线程拥有的关键部分: ChildEBP RetAddr将Args赋给Child 0deefd00 7c822114 77e6bb08 000004d4 00000000 ntdll!KiFastS
..
我有一个托管代码Windows Service应用程序,由于托管StackOverFlowException,该应用程序在生产中偶尔会崩溃。我之所以知道这一点,是因为我已经在崩溃模式下运行了adplus,并使用SoS分析了崩溃转储事后调查。我什至连上了windbg调试器,并将其设置为“未处理的异常”。 我的问题是,我看不到任何托管堆栈或切换到任何托管堆栈的线程。 我不是Windbg专家
..
遵循此答案,我正在尝试使用 -c“ ...” .dmp shell命令$ c>打开我的转储文件时执行命令。 尽管此方法适用于任何不使用引号的命令,但我现在想使用需要引号的命令。我如何才能避免引号引起来,以使它们不被视为 -c“ ...” 开关的结尾? 我尝试过: 使用反斜杠 \“ 通过加引号“” $ b来转义$ b 详细信息如下: 注册表项: HKEY_CLASS
..
有人在windbg的调用堆栈中看到RedirectedThreadFrame吗?那是来自托管的调用栈。我看到在框架内引发了很多异常,但从未出现在我眼前,我正在设法找出原因。本地调用堆栈仅具有: 0526f6b0 79f63d27 KERNEL32!RaiseException + 0x53 0526f718 79f64102 mscorwks!Thread :: RedirectedHan
..