2014-11-21 2 views
0

В настоящее время я разрабатываю альтернативную оболочку для окон (для замены проводником).Отладить скомпилированную программу? C# wpf

проблема заключается в том, что программа работает нормально при запуске как обычный исполняемый файл.

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

Есть ли что-нибудь, что я могу сделать, что может быть неправильным?

BTW работает на C# wpf.

+1

Вы пытались подключить отладчик, прежде чем он сработает? Если времени недостаточно, вы всегда можете временно добавить «Сон» ... – Cameron

+0

Что произошло, если вы убили проводника из диспетчера задач и запустили свою оболочку? – spender

+1

Задает ли журнал приложений Windows что-нибудь? Обычно там скрывается трассировка стека. – spender

ответ

1

всегда отладка скомпилированной программы.

Однако, когда вы запускаете его из Visual Studio, отладчик автоматически подключается (так что вы можете видеть исключения, устанавливать контрольные точки и т. Д.).

Вы можете выполнить то же самое для уже запущенного процесса, используя опцию «Прикрепить к процессу» в меню «Отладка».

Других вещей, чтобы попробовать:

  • Добавить Try/уловы блоков вокруг областей, которые могут взорвать
  • Добавить рубки, особенно в Try/улове блоки
  • Помещенных «сон» при запуске, если программа закрывается, прежде чем вы сможете подключить отладчик.

Кроме того, из @ScottChamberlin вы можете напрямую запросить отладчик от исполняемого файла с помощью System.Diagnostics.Debugger.Launch().

+1

Еще одна вещь, которую вы можете попробовать, выполните 'System.Diagnostics.Debugger.Launch()', и она спросит вас, какая версия визуальной студии вы используете хотите открыть и начать отладку, как вы приложили к процессу. –

+0

@ScottChamberlain Я понятия не имел, что вы можете это сделать. Спасибо за совет! Я отредактировал его. – BradleyDotNET

+0

@BradleyDotNET Вы, вероятно, никогда не разрабатывали никаких служб Windows, поскольку это обычно самая первая строка кода, когда ваша служба не запускается ... –

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