У меня есть программа .NET, которая вылетает внутри CLR JIT с внутренними переполнениями стека и ошибками нехватки памяти, , но только при запуске изнутризадание PowerShell .
Я предполагаю, что запуск его в качестве задания powershell накладывает некоторые виды ресурсов или ограничения безопасности , из-за которых .NET CLR сходит с ума.
Самым ясным объяснением, которое мне удалось получить, было то, что одна из этих ошибок когда-то проявлялась как исключение из HRESULT, в котором HRESULT был ERROR_COMMITMENT_LIMIT (исчерпан файл подкачки), хотя в файле подкачки и в файле действительно было достаточно места.БАРАН.В других случаях эти ошибки возникали в совершенно произвольных и невинных местах программы.
Как я могу диагностировать, что именно идет не так, какие ограничения нарушаются ?Существует ли API для получения всех ограничений, на которые распространяется процесс?Или есть способ перехватить или записать вызов WinAPI, который не выполняется из-за безопасности или ограничения квоты?Я вполне в порядке с использованием даже WinDbg для этого, но я не знаю, как использовать его для этой задачи.