问题标签 [windb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5223 浏览

visual-studio - 找不到匹配的二进制文件错误

我正在尝试调试崩溃小型转储。具有与崩溃相同的发布调试符号和发布二进制文件。

在调试该崩溃并指向符号时,我仍然收到“未找到匹配的二进制文件”错误。

我正在使用正确的符号、二进制文件并指向正确的位置。

那么为什么会发生这种情况呢?我可以看到在 VS(上午 9:03)和发布二进制文件(上午 9:04)中加载的 dll 的时间戳略有不同

这可能是错误的原因吗?

对此的任何解决方案,我都需要修复崩溃,并且由于此崩溃发生在客户端计算机上,我无法重现它。

0 投票
3 回答
743 浏览

sos - 有关线程正在等待的对象的信息

如果我有以下堆栈跟踪,我看到一个线程正在等待某个锁。如何获取有关此线程正在等待的对象的信息?我在想我应该能够使用 SyncBlk 命令,但似乎它只能提供有关锁及其所有者线程的信息。

0 投票
1 回答
585 浏览

c# - 静态对象被固定,不能被 GC 重新分配?

我的类中有一个静态变量,当我通过 windbg/sos 查看这个对象时,它显示这个对象为 Pinned。我假设这意味着 GC 不能在其他任何地方分配这个对象。任何想法为什么静态变量被视为固定?

这是我的类中这个变量的声明

这是windbg的输出形式

请参阅 !gcroot 的输出,这显示为 HANDLE(PINNED)。我误读了这个输出吗?

0 投票
1 回答
326 浏览

asp.net - ASP.Net 状态服务内存不足,windbg 中找不到大会话

环境是windows2008 X64

当我使用asp.net状态服务保持会话时,我发现aspnet_state.exe的内存增长缓慢,并且从未下降。几天后,进程内存不足。

所以我使用windbg检查转储,并找到以下信息。

!dumpheap -stat

!dumpheap -mt 000007feea25b328 -stat

!dumpheap -mt 000007feea25b328 -max 2200 -stat

!dumpheap -mt 000007feea25b328

分贝 0000000090789db0 L?2072

所以,事实证明,我的大部分内存都被存储会话 http ok 和锁定响应使用(也得到一些字符串存储“423 锁定”),还有更多

!gcroot 0000000090789db0

我找不到对 Char 的任何引用。

我检查了!finalizequeue,只有几个对象可以完成..所以我很困惑..

谢谢。

0 投票
1 回答
3525 浏览

debugging - WinDBG 无法读取使用 _NT_SYMBOL_PATH 环境变量设置的符号路径字符串

我已将环境变量 _NT_SYMBOL_PATH 设置为以下值 SRV*C:\My\Sym* http://msdl.microsoft.com/download/symbols

我还确保目录 C:\My\Sym 确实存在。但是,当我启动 WinDBG 时,它不会拾取我在 _NT_SYMBOL_PATH 环境变量中设置的符号路径字符串。WinDBG 中的符号路径为空。

当我从命令行检查环境变量时,我可以看到上面的环境变量设置正确。

我不明白我错过了什么。有人可以帮忙吗?我知道我可以直接在 WinDBG 中设置路径,但我有兴趣了解环境变量为什么不起作用。

0 投票
1 回答
1207 浏览

.net-4.0 - sos 和 clr 版本不匹配 - 如何解决

在windbg中加载转储文件后,我运行了以下命令

.loadby sos clr

Bu 然后我在运行 ThreadPool 命令时收到以下消息

难道我做错了什么?我在进行分析的机器上安装了 .NET 4.5。如果我尝试在该机器上安装 .NET 4.0,它不会让我因为已经安装了更高版本。

0 投票
1 回答
479 浏览

.net - 如何从转储文件中确定 GC 工作站与服务器模式

从转储文件中,是否可以确定垃圾收集模式使用的是服务器还是工作站)?如果是这样,什么命令?

0 投票
3 回答
1482 浏览

c# - C# Winforms:查找 System.AccessViolationException 原因的调试策略

在我的 winforms 应用程序中,我随机出现以下异常:

堆栈跟踪来自 Windows 事件查看器。(未处理的异常处理程序没有得到它。)

我在 SO 上阅读了很多关于此的文章:

事实证明,我的应用程序在某个地方通过本机方法访问已处理或损坏的内存。我现在的问题是如何使用我使用任务管理器制作的故障转储找到该位置。是否有其他策略可以找到原因?

0 投票
1 回答
421 浏览

c# - 如何解释 mwaits 输出

我正在尝试了解如何使用 mwaits 命令,例如锁类型、锁所有者等。我知道其中一些可以通过 sos 命令完成,但我如何使用通过 sosex mwaits 命令获得的信息。

0 投票
1 回答
162 浏览

windows - 使附加到本地内核的 windbg 或 kd 表现得像系统范围的 strace

我正在运行 Windows 7,我想在其上进行内核调试,并且不想弄乱引导加载程序。所以我已经按照这里的建议下载了 LiveKd并让它运行,看起来它正在工作。如果我理解正确,那是某种只读调试。这里提到它非常有限,甚至不能使用断点。我想问一下在这种模式下是否可以定期转储所有正在执行的指令或基本上所有在当前操作系统上发生的事件?我想有一些系统范围的 strace(Linux 用户知道)并对此进行一些统计分析。我想这取决于更多的因素,比如安装的调试符号开始能够解析地址等。