Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用windbg(或mscordmp)为托管(.net)应用程序创建转储文件_.net_Windbg - Fatal编程技术网

使用windbg(或mscordmp)为托管(.net)应用程序创建转储文件

使用windbg(或mscordmp)为托管(.net)应用程序创建转储文件,.net,windbg,.net,Windbg,我正在研究为托管进程创建转储文件 我知道我可以使用windbg创建转储文件,但我想知道它们是否有任何特殊标志,我应该传递给“.dump”命令,因为它是一个托管应用程序,而不是本机应用程序 一个相关的附带问题:我听说过一个叫做mscordmp.exe的工具(如果你用谷歌搜索它,你可以在网上找到它)。mscordmp仍然相关吗?我在任何地方都找不到它的下载点,但我认为它可能比windbg更适合转储托管内存 应使用/ma创建完整内存转储。 否则sos会抱怨托管分析将非常有限。不,没有任何与托管应用程序

我正在研究为托管进程创建转储文件

我知道我可以使用windbg创建转储文件,但我想知道它们是否有任何特殊标志,我应该传递给“.dump”命令,因为它是一个托管应用程序,而不是本机应用程序


一个相关的附带问题:我听说过一个叫做mscordmp.exe的工具(如果你用谷歌搜索它,你可以在网上找到它)。mscordmp仍然相关吗?我在任何地方都找不到它的下载点,但我认为它可能比windbg更适合转储托管内存

应使用/ma创建完整内存转储。
否则sos会抱怨托管分析将非常有限。

不,没有任何与托管应用程序相关的特殊标志,windbg只是创建内存转储,它是原始数据。分析工具的目的是了解转储是为托管应用程序还是非托管应用程序创建的

如果谈到分析托管应用程序,您可以执行以下步骤:

  • windbg
    附加到运行托管应用程序的进程
  • 运行
    .dump/ma
    。它创建转储文件,根据进程消耗的内存,此操作可能需要几分钟。
    /ma
    标志命令在启用所有选项的情况下创建附加进程的完整内存转储(它不是完整系统转储,只是附加进程)
  • 从进程中分离,它可以继续运行,同时您可以将转储文件加载到
    windbg
    并对其进行分析
  • 是分析托管应用程序的常用
    windbg
    扩展
  • p、 使用
    启用sos.dll时可能会出现问题。加载sos.dll
    ,在这种情况下,您可以尝试