Аварийные дампы не создаются на Windows Server - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь создать файлы аварийного дампа для сбойного процесса IIS / .NET в Windows Server 2012 R2.

Я написал следующий сценарий PowerShell как часть развертывания кода, который корректно работает для локальной разработки, но с теми же ключами реестра, установленными на сервере приложений, файлы дампа не создаются. Я проверил разрешения для SYSTEM в реестре и папке коллекции, и они кажутся правильными, поэтому я не совсем уверен, почему файлы дампа не генерируются.

Запуск тестового приложения на сервере, который не выполняет ничего, кроме сбоя через переполнение стека, просто генерирует всплывающее окно приложения, но без файлов дампа.

Я перепробовал все возможные решения, приведенные здесь , и ни одно из них не решило проблему.

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
...