У меня есть приложение .NET, которое сообщается в журнале событий. События говорят «Application Hang» без каких-либо полезных деталей.ClrMD в процессе другого пользователя
Итак, я взломал консольное приложение на C#, которое использует библиотеку ClrMD. Но оговорка заключается в том, что это приложение публикуется как RemoteApp. Когда я пытаюсь подключить ClrMD к процессу пользователей, я получаю эту ошибку: Microsoft.Diagnostics.Runtime.ClrDiagnosticsException: Не удалось подключиться к процессу. Ошибка 0.
Это неудивительно, так как я зарегистрирован на сервере как Администратор, и они находятся в их собственной сессии RDP с другим пользователем.
Итак, я решил олицетворять пользователя, которого они вошли в систему, как думая, если я запустил приложение ClrMD как оно, он получит доступ к этому процессу. Это дало мне другую ошибку: Microsoft.Diagnostics.Runtime.ClrDiagnosticsException: Не удалось подключиться к процессу. Ошибка 1008.
Кажется, я не могу найти подсказки относительно того, что означает 1008, чтобы узнать, куда идти. Я понимаю, что, вероятно, я пытаюсь сделать что-то, что невозможно.
- Кто-нибудь получил ClrMD для присоединения к процессу другого пользователя?
- Если нет, есть ли инструменты для отладки, которые могут подключаться к процессам других пользователей?
- Если нет, попросите людей использовать ClrMD внутри продукта и как я узнаю, что приложение зависает, когда запускается сброс ClrMD? Просто контролировать поток пользовательского интерфейса в другом фоновом потоке?
Хм, вы закончите тратить некоторое время на ClrMD, прежде чем приближаетесь к диагностике. Купите себя в это время и вместо этого используйте LoadCrashDump(). Решает эту проблему. –
Возможно ли, что средства отладки для Windows не установлены на сервере, который вы пытаетесь подключить? –