使用windbg(或mscordmp)为托管(.net)应用程序创建转储文件
我正在研究为托管进程创建转储文件 我知道我可以使用windbg创建转储文件,但我想知道它们是否有任何特殊标志,我应该传递给“.dump”命令,因为它是一个托管应用程序,而不是本机应用程序使用windbg(或mscordmp)为托管(.net)应用程序创建转储文件,.net,windbg,.net,Windbg,我正在研究为托管进程创建转储文件 我知道我可以使用windbg创建转储文件,但我想知道它们是否有任何特殊标志,我应该传递给“.dump”命令,因为它是一个托管应用程序,而不是本机应用程序 一个相关的附带问题:我听说过一个叫做mscordmp.exe的工具(如果你用谷歌搜索它,你可以在网上找到它)。mscordmp仍然相关吗?我在任何地方都找不到它的下载点,但我认为它可能比windbg更适合转储托管内存 应使用/ma创建完整内存转储。 否则sos会抱怨托管分析将非常有限。不,没有任何与托管应用程序
一个相关的附带问题:我听说过一个叫做mscordmp.exe的工具(如果你用谷歌搜索它,你可以在网上找到它)。mscordmp仍然相关吗?我在任何地方都找不到它的下载点,但我认为它可能比windbg更适合转储托管内存 应使用/ma创建完整内存转储。
否则sos会抱怨托管分析将非常有限。不,没有任何与托管应用程序相关的特殊标志,windbg只是创建内存转储,它是原始数据。分析工具的目的是了解转储是为托管应用程序还是非托管应用程序创建的 如果谈到分析托管应用程序,您可以执行以下步骤:
windbg
附加到运行托管应用程序的进程.dump/ma
。它创建转储文件,根据进程消耗的内存,此操作可能需要几分钟。/ma
标志命令在启用所有选项的情况下创建附加进程的完整内存转储(它不是完整系统转储,只是附加进程)windbg
并对其进行分析李>
windbg
扩展启用sos.dll时可能会出现问题。加载sos.dll
,在这种情况下,您可以尝试