2016-06-09 7 views
0

Я разрабатываю приложение .NET в течение 6 лет, но сегодня я столкнулся с действительно странным поведением.Очень странный app.exe зависает при запуске

После того, как я скопировал свои файлы приложений (.exe, .dll, configs и т. Д.) На другую машину, я обнаружил, что двойной файл .exe смертельно повесил приложение. Курсор ожидания не исчезает.

Через некоторое время я установил VS 2012 Express на эту машину и начал свой проект. Он начинается и работает отлично. После этого я попытался запустить его .exe-файл из папки ../bin/debug. Он висит, как в первый раз.

После этого я создал пустое приложение WPF. История полностью повторилась: она отлично начинается с VS, но смертельно висит, когда начинаешь с прямого двойного щелчка.

Итак, любое (WPF) приложение запускается правильно в VShost, но зависает при запуске из exe-файла. Может быть, у кого-то есть идеи о том, что может произойти на этом компьютере?

+0

Какая версия Windows вы используете (оба компьютера)? – RQDQ

+0

Это Windows 10 –

+0

Зачем вы развертываете отладочную версию? –

ответ

0

Некоторые вещи, которые вы могли бы проверить:

  • Есть ли у вас какие-либо System.Diagnostics.Debugger.IsAttached проверки в коде?
  • Может ли текущий каталог вызывать какие-либо различия в поведении; помните, что если вы запустите VS, тогда вы будете запускать программу.
  • У вас есть трассировка в коде; если да, то это дает вам любую информацию о том, что программа пытается сделать, прежде чем она зависает?
+0

У меня нет трассировки/Отладка или что-то еще в моем коде. На самом деле у меня ничего нет - просто создайте пустое приложение WPF и попытайтесь запустить его из VS (OK) и двойным щелчком (Hang). –

+0

Какую конфигурацию вы используете? Кроме того, это на любом ПК или только на одном? –

+0

Процесс зависания не отображается в обычном диспетчере задач, но он выполняется в списке процессов VS 'Attach To'. Когда я прикрепляю к нему отладчик VS, VS испускает сообщение «.. приложение запускало точку останова ...». Тогда VS смертельно висит слишком –

0

Я хотел бы попробовать следующее (требует Visual Studio на целевой машине и отладки версии сборок, так что это своего рода запутанным):

  • копии соответствующих источников на целевой машине
  • запустить приложение из ехе в Debug (PDB-файлы также должны быть там)
  • в Visual Studio откройте решение
  • придают процессу (Ctrl-Alt-P) -> выберите исполняемый
  • приостановить выполнение

Specifing Source Files in the Visual Studio Debugger может потребоваться.

Конечно, использование подробного ведения журнала через библиотеку регистрации, такую ​​как NLog, также может быть полезно.

+0

Проблема в том, что у него нет никакого кода практически, пустого приложения - он попадет в какой-то системный вызов или ничего – NSGaga

+0

Когда я прикрепляю VS отладчик к повешенному приложению, VS выдает сообщение '. .Приложение вызвало точку останова ... '. Когда я приостанавливаю экзекцию VS, тоже смертельно висит –

 Смежные вопросы

  • Нет связанных вопросов^_^