2011-12-21 8 views
4

У меня есть журнал и попытка поймать в этом консольном приложении, но, похоже, не так далеко.Как устранить ошибку: «Программа перестала работать APPCRASH»

Работает отлично на моей машине dev, не на Win Server 2008. Средство просмотра событий имеет такую ​​же информацию, как показано ниже.

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

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

Спасибо.

 
Description: 
    Stopped working 

Problem signature: 
    Problem Event Name: APPCRASH 
    Application Name: LoaderLive.exe 
    Application Version: 2.0.1.0 
    Application Timestamp: 4ef176d6 
    Fault Module Name: KERNELBASE.dll 
    Fault Module Version: 6.1.7601.17651 
    Fault Module Timestamp: 4e211319 
    Exception Code: e0434f4d 
    Exception Offset: 0000b9bc 
    OS Version: 6.1.7601.2.1.0.272.7 
    Locale ID: 1033 

Read our privacy statement online: 
    http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409 

If the online privacy statement is not available, please read our privacy statement offline: 
    C:\Windows\system32\en-US\erofflps.txt 
+3

Он бомбил на необработанном управляемом исключении. Внедрите обработчик событий для события AppDomain.CurrentDomain.UnhandledException и зарегистрируйте или покажите значение e.ExceptionObject.ToString() –

+1

Могут быть исключения, не проходящие через границы потоков. Добавьте обработчик в "program.cs" для AppDomain.CurrentDomain.UnhandledException, заведите его в журнал. –

+0

А у тебя тоже этот парень тоже @ Ханс Пассант. –

ответ

3

Если у вас есть верхнего уровня TRY/поймать, и это не отлов исключения, это может быть потому, что ошибка происходит на очень низком уровне (например, где-то в родной библиотеки кода), слишком рано (до того, как начнется ваш Main) или в другой поток (где ваш try/catch не может «достигнуть»).

Чтобы узнать, что происходит, запустите приложение под отладчиком. Если на целевой машине установлена ​​Visual Studio, вы можете сделать это оттуда (откройте EXE и «Начать отладку»). Если нет, вы можете использовать файл windbg.exe/cdb.exe (доступный как Debugging Tools for Windows в Windows SDK). Внутри отладчика вы должны увидеть, где произошла ошибка, поскольку по умолчанию она останавливается на любом фатальном исключении.