问题标签 [sosex]
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.
windbg - Error with !runaway command
I am looking a dump file collected from production environment for high cpu usage. I ran !threadpool and !runaway command as follows
I want to know what threads are consuming most cpu time but I cannot run !runaway command. Are there any other commands in sos, sosex or any other extension that could be helpful in this case?
windbg - 是否有 API 可以检查 sosex.bhi 命令创建的堆索引文件?
最终,我想将堆数据转储到 SQL Server 数据库中,以便能够轻松分析它。
现在我的方法是sosex.dumpgen
在重定向到文件的同时运行命令,然后使用小型 C# 程序转储到数据库中。但如果我想知道什么对象引用了什么,这对我没有帮助。所以,我有这个sosex.refs
命令,但它不适合批量分析。
Steve Johnson 的博客 ( http://www.stevestechspot.com/default.aspx ) 似乎并未暗示存在这样的 API。
有任何想法吗?
debugging - !clrstack 从不报告任何内容
我知道我正在处理一个托管线程,但我从未设法开始!clrstack
工作。我总是得到:
诚然,我可以使用!dumpstack
,但我不知道如何让它显示论点。它只显示 ChildEBP、返回地址和函数名称。此外,它混合了托管和非托管调用,我只想关注托管部分。
更新
根据 Thomas 的要求,!clrstack -i
返回:
它的进展:-)
windbg - 搜索大小大于阈值的对象
通过以下 sos 命令发现,其中一个类在 .NET 堆中存在许多对象。
我需要找到那些ObjSize大于 5 MB 的对象的实例。我知道我可以使用以下列出所有 1700 个 MyClass 实例的objsize。
使用上面的脚本,尽管有大于 5MB 的对象实例,但我没有得到任何结果。我认为问题可能是 objsize 的输出如下
它是一个字符串,使与任何阈值进行比较变得更加困难。我怎样才能让这个脚本只列出 objsize 大于 5MB 的对象?
.net - 使用 windbg 识别 System.Action 将执行的代码
我的 WPF 应用程序出现了严重错误,我的调度程序似乎有 2400 万个操作等待运行。
带 sosex 的 windbg 向我展示
有没有办法可以看到 Action 将要执行的实际代码?根据上面引用的对象,我对正在发生的事情有一个粗略的了解,但是查看 Action 将执行的实际代码会很有帮助。
windbg - 使用注册 .NET sosex 扩展
有没有办法使用!mdt
(SOSEX 扩展)但使用寄存器来显示对象内容?
我知道您是否这样做!mdt 299281
(如果有,则显示该地址中的对象)但是如果我想这样做!mdt edx
(注册而不是十六进制数字)怎么办?
windbg - Windbg:断点 SOS,或 SOSEX.DLL 方法的名称
在托管代码中使用 SOS 或 SOSEX 进行调试时,我可以使用 !mbm *!*GetSubscription 设置断点,有没有办法获取方法名称?
示例:bp 8373772 ".printf \"methodname\";gc"。
这个想法是让执行的方法的名称与 wt -l 命令类似。
windbg - !dumpheap -min 字符串不能按预期工作
给定 size 参数时,似乎!DumpHeap
无法正确处理字符串类型。
请注意:
SOS!DumpHeap -min 100000
没有产生任何结果,!strings /n:100000
但产生了一些结果。
难道!DumpHeap -min
只是没有正确处理字符串吗?或者我错过了什么?
callback - 内部异常的堆栈跟踪
托管我的 .NET 应用程序的 w3wp 进程随机崩溃。我通过使用 DebugDiag 设置第二次机会异常规则收集了转储文件。这是我执行的步骤。
lastevent 命令显示 .NET 异常。
该线程的堆栈跟踪如下所示,
pe 命令显示回调异常
根据上一个命令的输出,我查找嵌套异常
我的下一步是找到 NullReferenceException 的堆栈跟踪
这里我尝试获取 NullReferenceException 的堆栈跟踪。这看起来像一个 SByte 数组。
我的期望是获得堆栈跟踪/详细信息,了解导致此空引用的方法/代码行/对象。我还尝试转储 SByte 数组的内容,但这并没有为我提供任何有用的信息。关于如何获得有关此 NullReferenceException 的更多信息的任何建议?
memory - Gen 2 中的 3GB 字符串,如何仅在 Gen 2 中转储有限的大对象?
通过使用命令!dumpgen 2 -stat,我发现有3GB的字符串,23,531,124 3,110,704,598 System.String,如果我将它们全部转储,它将挂起windbg,有什么办法我只能在Gen中转储有限的大对象结果只有2个?因此我可以转储这些对象并查看它们是什么。同样要求 LOH。提前感谢您的帮助。