Я пытаюсь создать файлы аварийного дампа для сбойного процесса IIS / .NET в Windows Server 2012 R2.
Я написал следующий сценарий PowerShell как часть развертывания кода, который корректно работает для локальной разработки, но с теми же ключами реестра, установленными на сервере приложений, файлы дампа не создаются. Я проверил разрешения для SYSTEM
в реестре и папке коллекции, и они кажутся правильными, поэтому я не совсем уверен, почему файлы дампа не генерируются.
Запуск тестового приложения на сервере, который не выполняет ничего, кроме сбоя через переполнение стека, просто генерирует всплывающее окно приложения, но без файлов дампа.
Я перепробовал все возможные решения, приведенные здесь , и ни одно из них не решило проблему.
$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