| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Отладка не запускаемого приложения на удаленном ПК |
| Автор: V0fka 16.8.2014, 13:02 |
| Привет! Есть приложение, которое локально работает. На удаленном ПК оно не запускается, выдавая ошибку Windows. Что там происходит - непонятно. Я знаю, что можно подключиться к запущенному процессу на удаленном ПК. Но процесс запускается на доли секунды и завершается, соответственно я не успеваю к нему подключиться. Вопрос: как-то можно запустить отладку приложения на удаленном ПК, не подключаясь к существующему процессу? ПС. вариант с установкой VS на удаленном ПК я рассматриваю, но надеюсь, что есть какой-то другой способ. |
| Автор: jonie 16.8.2014, 19:27 |
| ставьте на машину Remote Debugger и подключайтесь к нему. http://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx тут подробнее. |
| Автор: mihryak 18.8.2014, 12:08 |
| Для работы с дебаггером будет полезным первой строчкой писать http://msdn.microsoft.com/ru-ru/library/system.diagnostics.debugger.break%28v=vs.110%29.aspx. Но на момей памяти удалённый дебаг - не такая простая штука, он требует, чтобы сам процесс и VS работали под одним и тем же пользователем (для локальных требуется совпадение имени). Возможно, что-то уже и изменилось, но когда-то было именно так. Я бы повесил обработчик на AppDomain.UnhandledException, пишущий исключения в лог, если используются потоки - то и ThreadException тоже. В простых случаях даже просто весь main в try-catch завернуть с выводом исключения в файл может помочь. Если эти штуки не помогут (пустые логи), значит дело в отсутствующем или битом .Net. |
| Автор: V0fka 18.8.2014, 14:50 |
| jonie, mihryak, большое спасибо за ответы, я в ближайшее время постараюсь воспользоваться вашими советами и по результату отпишу! |
| Автор: V0fka 9.9.2014, 17:40 | ||
| Наконец-то добрался до этого! jonie, из вашей ссылки я попал http://msdn.microsoft.com/ru-ru/library/8x6by8d2.aspx. Сделал все по инструкции, жму отладку. В результате выдается такое сообщение: ![]() При этом на удаленном компе процесс запускается и висит в диспетчере задач. mihryak, попробовал Debugger.Break, в итоге программа на удаленном ПК отваливается, показывая следующее сообщение: ![]() Но это меня натолкнуло на идею сделать в первой строке MessageBox.Show() и подключиться к процессу
За этот совет тоже спасибо, возьму на вооружение! В принципе проблема решена, но если бы получилось без вставки/удаления дополнительной строки с выводом - вообще было бы супер! jonie, mihryak, большое спасибо за помощь! |