Сбой приложения без любого вида Исключения

У меня есть многопоточное приложение.Net C#, оно использует Direct3D 9/10 и XAudio2. (К Direct3D получают доступ только один поток, то же для XAudio2. Direct3D не является проблемной причиной, ошибка является явной в любом режиме DX9 или DX10 без любого изменения в его поведении.)

Иногда (существуют некоторые области, который дает эту проблему случайным образом), этот сбой приложения довольно незахватывающим способом. Даже если приложение запущено через Visual Studio с отладчиком, это отказывает, не давая вида исключения. (Это запускается путем высказывания, что "applicationname.svchost.exe разрушается и т.д.. и т.д.. Вы хотите отладить?", если я нажимаю да, это говорит мне, что "Вы не можете отладить приложение, уже закрытое.)

Нет никакого способа узнать то, что причина катастрофического отказа? Причина у меня закончились идеи, отладчик, не дает мне информации вообще. Без исключения я не могу даже сделать stacktrace или дампа. :P (я предполагаю, проблема синхронизации (даже мысль в той области, я только делаю последовательную работу...), но эй почему запуск не является исключением?:|)

В областях, где проблема происходит, я разгружаю перезагрузку серии классов, связанных с романом (в последовательном базовом потоке, таким образом, я сомневаюсь, что это может быть проблема), и запуск новой музыки через XAudio2. (BTW, каково соображение многопоточности о XAudio2? Действительно ли безопасно звонить от нескольких, распараллеливают?)

Спасибо за справку.

P.S. Существует программное обеспечение для присоединения к моему для контроля всех вызовов и говорит мне, какова последняя возможность перед катастрофическим отказом?

7
задан feal87 10 January 2010 в 08:09
поделиться

2 ответа

Вы должны попробовать использовать WINDBG , анализируя парусную дамп, должен указывать вам на проблему, если ваше подозрение правильно, и это проблема синхронизации, причина проблемы может быть трудно определить.

4
ответ дан 7 December 2019 в 10:02
поделиться

Проверяли ли вы журналы регистрации событий в панели администрирования Windows? Все ошибки любого рода всегда регистрируются в этом разделе с минимальной детализацией.

Однажды у меня было приложение, которое зависало без исключений, и единственной помощью, которую я нашел, была программа Event Log Viewer, в которой я обнаружил, что источником падения было StackOverflowException.

2
ответ дан 7 December 2019 в 10:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: