在Windows Server上未创建故障转储

时间:2019-01-11 12:32:31

标签: powershell windows-server-2012-r2 crash-dumps

我正在尝试为Windows Server 2012 R2上崩溃的IIS / .NET进程创建崩溃转储文件。

我已将以下PowerShell脚本编写为代码部署的一部分,该代码对于本地开发正常工作,但是在应用程序服务器上设置了相同的注册表项,则不会创建转储文件。我已经检查了注册表和收集文件夹上SYSTEM的权限,它们似乎是正确的,因此我不确定为什么不生成转储文件。

在服务器上运行一个测试应用程序,该应用程序除了通过堆栈溢出而崩溃外,什么都不做,只会生成一个应用程序弹出窗口,但不会生成转储文件。

我尝试了给定here的所有可能的解决方案,但没有一个解决了问题。

A new guard page for the stack cannot be created

$dumpFolder = "C:\crash-dumps"

if (!(Test-Path $dumpFolder)) {
    mkdir $dumpFolder | Out-Null
}

$dumpKey = "HKLM:SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps"

if (!(Test-Path $dumpKey)) {
    New-Item -Path $dumpKey | Out-Null
}

$dumpKey = "HKLM:SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\dotnet.exe"
New-Item -Path $dumpKey -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpFolder -Value $dumpFolder -PropertyType String -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpCount -Value 3 -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpType -Value 2 -PropertyType DWORD -Force | Out-Null

$dumpKey = "HKLM:SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe"

New-Item -Path $dumpKey -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpFolder -Value $dumpFolder -PropertyType String -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpCount -Value 3 -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpType -Value 2 -PropertyType DWORD -Force | Out-Null

0 个答案:

没有答案