Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отладка не запускаемого приложения на удаленном ПК 
V
    Опции темы
V0fka
Дата 16.8.2014, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



Привет!

Есть приложение, которое локально работает. На удаленном ПК оно не запускается, выдавая ошибку Windows. Что там происходит - непонятно. Я знаю, что можно подключиться к запущенному процессу на удаленном ПК. Но процесс запускается на доли секунды и завершается, соответственно я не успеваю к нему подключиться. Вопрос: как-то можно запустить отладку приложения на удаленном ПК, не подключаясь к существующему процессу?

ПС. вариант с установкой VS на удаленном ПК я рассматриваю, но надеюсь, что есть какой-то другой способ.
PM MAIL   Вверх
jonie
Дата 16.8.2014, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



ставьте на машину Remote Debugger и подключайтесь к нему.
http://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx
тут подробнее.




--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
mihryak
Дата 18.8.2014, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 10
Всего: 36



Для работы с дебаггером будет полезным первой строчкой писать Debugger.Break.
Но на момей памяти удалённый дебаг - не такая простая штука, он требует, чтобы сам процесс и VS работали под одним и тем же пользователем (для локальных требуется совпадение имени). Возможно, что-то уже и изменилось, но когда-то было именно так.

Я бы повесил обработчик на AppDomain.UnhandledException, пишущий исключения в лог, если используются потоки - то и ThreadException тоже. В простых случаях даже просто весь main в try-catch завернуть с выводом исключения в файл может помочь.

Если эти штуки не помогут (пустые логи), значит дело в отсутствующем или битом .Net.

Это сообщение отредактировал(а) mihryak - 18.8.2014, 12:09
PM MAIL ICQ   Вверх
V0fka
Дата 18.8.2014, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



jonie, mihryak, большое спасибо за ответы, я в ближайшее время постараюсь воспользоваться вашими советами и по результату отпишу!
PM MAIL   Вверх
V0fka
Дата 9.9.2014, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



Наконец-то добрался до этого!

jonie, из вашей ссылки я попал сюда. Сделал все по инструкции, жму отладку. В результате выдается такое сообщение:

user posted image

При этом на удаленном компе процесс запускается и висит в диспетчере задач.

mihryak, попробовал Debugger.Break, в итоге программа на удаленном ПК отваливается, показывая следующее сообщение:

user posted image

Но это меня натолкнуло на идею сделать в первой строке MessageBox.Show() и подключиться к процессу smile .
Цитата
Я бы повесил обработчик на AppDomain.UnhandledException, пишущий исключения в лог, если используются потоки - то и ThreadException тоже. В простых случаях даже просто весь main в try-catch завернуть с выводом исключения в файл может помочь.

За этот совет тоже спасибо, возьму на вооружение!

В принципе проблема решена, но если бы получилось без вставки/удаления дополнительной строки с выводом - вообще было бы супер! smile

jonie, mihryak, большое спасибо за помощь!

Это сообщение отредактировал(а) V0fka - 9.9.2014, 17:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.