2010-09-24 3 views
6

Для среды отладки у нас есть условный оператор Debugger.Launch в коде, который позволяет разработчикам отлаживать код запуска службы Windows. Мы просто обновили до .NET 4.0 сегодня. Начиная с обновления, если мы выйдем из окна JIT (т. Е. Мы решили не отлаживать), служба Windows рушится (процесс завершается). Раньше это просто возобновлялось. Если мы соглашаемся на присоединение, приложение не прекращается и работает нормально.Debugger.Launch() теперь сбой моей службы Windows после обновления до .NET 4.0

EDIT

Другая странная вещь является то, что исключение, которое выбрасывается больше не Launch для исключения пользователя. Это теперь необработанное исключение Microsoft .NET. Я пытался обернуть попытку поймать его, чтобы посмотреть, что я получу. Я не могу поймать исключение, когда меня отлаживают, потому что в этот момент исключение не возникает. Если я попытаюсь зарегистрировать исключение в файле, служба сбой, и я ничего не получаю.

Любой способ исправить это? Любые причины для этого?

ПОДРОБНЕЕ

Я только что создал пустой и новые окна приложения формы.


     public Form1() 
     { 
      try 
      { 
       MessageBox.Show("hello"); 
       System.Diagnostics.Debugger.Launch(); 

      } 
      catch 
      { 
       MessageBox.Show("error"); 
      } 
      AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 
      InitializeComponent(); 
     } 

     void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) 
     { 
      MessageBox.Show(e.ToString()); 
     } 

Я получаю первый «привет». Затем я получаю окно JIT, в котором говорится, что произошло «необработанное исключение Microsoft .NET». Если я не присоединяюсь, он падает без сообщения или чего-то еще.

Я пробовал WinDbg, а что нет. Я не знаком с этими инструментами. Вот что я получаю. Это не кажется очень полезным при всех

 
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64 
Copyright (c) Microsoft Corporation. All rights reserved. 


Loading Dump File [C:\Users\moueis\TestDebugging_100927_104956.dmp] 
User Mini Dump File with Full Memory: Only application data is available 

Comment: ' 
*** C:\Users\moueis\Desktop\procdump.exe TestDebugging.exe -e -ma 
*** Unhandled exception' 
Symbol search path is: *** Invalid *** 
**************************************************************************** 
* Symbol loading may be unreliable without a symbol search path.   * 
* Use .symfix to have the debugger choose a symbol path.     * 
* After setting your symbol path, use .reload to refresh symbol locations. * 
**************************************************************************** 
Executable search path is: 
Windows 7 Version 7600 MP (8 procs) Free x64 
Product: Server, suite: TerminalServer SingleUserTS 
Machine Name: 
Debug session time: Mon Sep 27 10:49:56.000 2010 (UTC - 4:00) 
System Uptime: 11 days 20:41:04.714 
Process Uptime: 0 days 0:00:22.000 
......................................... 
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntdll.dll - 
*** ERROR: Symbol file could not be found. Defaulted to export symbols for KERNELBASE.dll - 
KERNELBASE!DebugBreak+0x2: 
000007fe`fd432442 cc    int  3 

Это происходит на более чем на 1 машину (однако, они extreamly похожи).

РАЗ БОЛЬШЕ INFO

Это, очевидно, довольно легко воспроизвести. Это произошло на нескольких системах в доме, и я получил подтверждение от внешней стороны, что проблему можно воспроизвести просто с помощью фрагмента кода выше в форме Windows .NET, которая использует .NET 4.0

+1

Опубликовать трассировку стека исключения, а также сообщение об исключении. –

+0

Что такое журнал событий? –

+0

Вы можете взять дамп памяти службы при ее сбое с помощью утилиты ProcDump от Sysinternal (с использованием опции -e). После получения дампа вы можете загрузить его в WinDbg и выяснить, почему он разбился с использованием расширения отладчика SOS. – Liran

ответ

1

Я столкнулся с этим выпуск, и через некоторый Googling нашел Microsoft Connect report for it.

+0

Да, я отправил его :) Никаких исправлений для него еще – Mark

+0

Я думал, что у вас есть. Я думал, что даже если у вас есть другие люди, которые могут найти эту проблему, возможно, эта ссылка. –

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