windbg相关内容

确定哪个方法持有 ReaderWriterLockSlim WriteLock

目前我正在使用 WinDbg 分析转储. 我运行了以下命令(遵循 苔丝令人难以置信的演练): ~* e !clrstack 其中列出了所有线程的所有堆栈.有 300 个正在运行的线程或多或少具有相同的堆栈,所以我只是在这里打印一个堆栈...... 操作系统线程 ID:0x107c (166)子 SP IP 呼叫站点2bc1e654 77c1015d [HelperMethodFrame ..
发布时间:2021-09-25 19:31:20 其他开发

使用windbg调试Windows 8 App

我有一个 Windows 8 应用程序商店应用程序,需要在我们的一台实验室机器上进行调试.实验室中的机器有windbg,但没有Visual Studio.当我使用 windbg 启动 EXE 时,我收到一条消息,显示“此应用程序只能在应用程序容器的上下文中运行". 有没有办法让 Windbg.exe 创建应用程序容器上下文? 解决方案 WinDbg 几乎可以附加到任何正在运行的进程. ..
发布时间:2021-09-25 19:31:17 其他开发

在 WinDbg 中使用 .ForEach 时出错

为什么我在调试转储文件时在 WinDbg 中运行以下命令时会收到 Invalid parameter poi(adr+4)? .foreach ( adr { !dumpheap -mt 66df13d4 -short } ) { !do poi(adr+4);} 以下显示 adr 的值填充得很好. .foreach ( adr { !dumpheap -mt 66df13d4 -short ..
发布时间:2021-09-25 19:31:14 其他开发

Windows 故障转储分析

我正在使用 DebugDiag 来分析 Windows 上的故障转储. 这是报告摘要说明: 在 XXXX.dmp 中,Microsoft Corporation 的 C:\Windows\System32\msvcr120.dll 中 msvcr120!abort+4a 处的汇编指令在线程 26 上导致了未知异常 (0x40000015)> 而调用栈是: ntdll!NtWaitF ..
发布时间:2021-09-25 19:31:11 其他开发

有没有办法遍历windbg中的所有帧?

有没有办法遍历windbg中的所有帧?(或为每个堆栈帧运行 dv) 例如: ~*e !mk -cc 将遍历所有线程并调用 !mk -cc 我想要的基本上是: 对于每个线程:切换到线程: ~0s 对于该线程中的每一帧: .frame 00影音 只是想知道是否有办法自动执行此操作? 目前我能够生成一个脚本来做: ~0s.frame 00影音.frame 01影音.frame ..
发布时间:2021-09-25 19:31:08 其他开发

在 Windows7 上使用 dbgrpc 的问题

windbg 附带的 dbgrpc.exe 在 Windows 7 下似乎不能很好地工作.我已按照说明操作,启用 MSDN 我创建了测试程序外 COM 服务器和客户端,在调试器下运行客户端,调用 COM 服务器方法(在返回之前进入方法)并运行 dbgrpc.我能够枚举 RPC 端点.但是,当我尝试像这样获取线程信息时: dbgrpc -t -P 1234 没有打印任何有用的东西 ..
发布时间:2021-09-25 19:31:03 其他开发

Windbg 无法附加到进程.访问被拒绝.

我尝试使用 windbg 附加到一个进程(属于防病毒软件).我以管理员身份运行 windbg,但在尝试附加到进程时出现以下错误: 无法检查进程 ID 6128.Win32 错误 0n5无法调试 pid 6128,Win32 错误 0n5访问被拒绝 有什么我忽略的吗?感谢您的帮助 解决方案 即使您以管理员身份登录,您也可能需要以提升的管理员身份运行 windbg.尝试右键单击 windb ..
发布时间:2021-09-25 19:31:00 其他开发

如何从windbg内核调试器检查用户线程调用堆栈?

我的 exe-once 测试程序调用 CancelIo 并且它阻塞了,我想调查它阻塞在哪个函数中,所以,当它阻塞时,我使用windbg 闯入机器,远程,并尝试找出它. 如图中黄色标记,我的 EXE 有两个线程,fffffa8013958b60 和 fffffa8013aa1060.我已经知道 fffffa8013aa1060 是调用 CancelIo 的那个. 那么,如何显示线程fff ..
发布时间:2021-09-25 19:30:54 其他开发

c0000005 C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.threads 调试器扩展中的异常

当使用 load by 命令加载扩展时,我在第一次运行任何 SOS 扩展命令时遇到异常.但是,如果我使用 load 命令,则不会出现异常.下面是我使用的过程的一个步骤.有人可以解释为什么会发生这种情况以及可能的解决方案. 0:007>.链扩展DLL搜索路径:C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\WINXP;C:\Program ..
发布时间:2021-09-25 19:30:51 C#/.NET

获取调用堆栈中包含某个 .NET 函数的线程?

我有一个包含 73 个线程的用户模式转储.其中一些是受管理的,其中一些是本地的.我想找到托管线程,它的调用堆栈中包含某个托管函数. 我在调试器中加载了 SOSEX 扩展. 现在我执行 ~*e !mk 转储所有托管线程,然后手动浏览它们以查找我需要的内容 - 太长而且很烦人. 有没有更好的方法? 解决方案 相关命令 有 !findstack 2 查找在堆栈上具有特定模 ..
发布时间:2021-09-25 19:30:48 其他开发

如何确定 WinDbg 中以空字符结尾的字符串的长度

在调试中的目标进程的地址空间中存在以空字符结尾的 ASCII 字符串.我想写一个 WinDbg 脚本来打印出这个字符串的长度.假设我知道字符串起始字符的地址,我如何计算它的长度? 解决方案 恕我直言,它在 WinDbg 中并不方便,我尝试找到涉及 s、.foreach 和 .if 超过 15 分钟,但结果令人沮丧.在这种情况下,我使用 Python 等真正的编程语言和 PyKD. 将 ..
发布时间:2021-09-25 19:30:43 其他开发

如何调试在客户机器上崩溃的 Windows 应用商店应用程序?

我收到一位客户的支持电子邮件,说他的应用在启动时崩溃了,他收到的只是如下消息: (App Name) 遇到问题您可以向 Microsoft 发送有关帮助改进此应用程序出了什么问题. 将发送给 Microsoft 的文件C:\Users\User_Name\AppData\Local\Temp\WER####.tmp.appcompat.txtC:\Users\User_Name\App ..

如何将windbg命令重定向到文件而不在windbg控制台上回显输出?

.logopen 不是答案,因为它让命令输出到 windbg 控制台. 例如,!sosex.dumpgen 2 会产生大量输出,我不想在调试器控制台中看到这些输出.现在我正在使用以下内容: .shell -i- -ci "!dumpgen 2" cmd/c more >D:\tmp\dumpgen2.log 我的问题是 more 命令是交互式的,在输出一定数量的数据后需要用户输入.这对我 ..
发布时间:2021-09-25 19:30:37 其他开发

windbg - 创建子进程并启用 .childdbg 1 时自动继续

我正在使用 Windbg 的启动脚本,并且想要调试子进程 (.childdbg 1).但是,一旦启用它,我发现创建子进程时windbg 会自动中断.我不确定为什么会发生这种情况,但这是我正在使用的脚本: sxe -c ".echo ********** CLR 1st Chance Exception **********;!pe -nested;.echo ----------- CLRSta ..
发布时间:2021-09-25 19:30:34 其他开发

Windows 崩溃转储调用堆栈仅显示 wow64

问题 我有一个我们为内部使用而开发的 Windows 应用程序.感谢 Windows 错误处理,窗口保持打开状态,我可以轻松地从任务管理器生成故障转储. 我以前曾通过 eclipse 在 linux 上使用过故障转储,但这是第一次在 Windows 上. 硬件 服务器是Windows 2012,我的开发机器是Windows 7. Windbg 当我在 Windb ..
发布时间:2021-09-25 19:30:31 其他开发

Windbg 本机调用堆栈跟踪没有意义

我有一个简单的测试程序,导致无限等待锁定. 公共类SyncBlock{}课程计划{公共静态 SyncBlock 同步 = 新 SyncBlock();私有静态无效ThreadProc(){尝试{Monitor.Enter(同步);}捕获(异常){//Monitor.Exit(sync);Console.WriteLine("第三方代码抛出异常");}}static void Main(strin ..
发布时间:2021-09-25 19:30:28 其他开发

解析 WinDbg 中的故障转储以获取私有字节(托管堆除外)?

我想解析完整的故障转储 (*.dmp) 文件并获取私有字节数据.我知道 SysInternals 的 VMMap 可以告诉我我的私有字节、堆等有多少,但我需要的是如果我有转储,我应该能够解析它并获得堆(托管堆)结构和数据堆.通过阅读 PEB 然后遍历堆,我已经完成了这项工作. 我无法弄清楚的是如何读取私有字节(堆除外,它应该是本机代码的进程数据).任何人都可以指出我正确的方向,以便我能够从故 ..
发布时间:2021-09-25 19:30:24 其他开发