2015-01-13 6 views
1

Я написал приложение C#, которое использует собственную библиотеку mfc в качестве COM-компонента. Эта программа работает на сервере, чтобы контролировать некоторые аппаратные устройства. Хотя большую часть времени приложение работает правильно, иногда я получаю сообщение «C++ Debug assertion failed».Найти, где произошла ошибка «Debug assertion»

Я хочу знать, как я могу отлаживать свое приложение и видеть стек вызовов моего исходного кода, когда появляется ошибка с ошибкой утверждения. У меня есть исходный код приложения C#, но проблема в том, что это утверждение произошло в неуправляемом коде. Когда я подключил визуальный отладчик студии к приложению, ничего не появилось, когда ошибка с ошибкой утверждения была поднята!

+0

Попытка отладки программы без источников затруднительна. Вы эффективно обратное проектирование. – Deduplicator

+0

У меня есть исходный код приложения на C#, но проблема в том, что это утверждение произошло в неуправляемом коде, я подключил визуальный отладчик студии к приложению, но ничего не появляется, когда ошибка сбоя не срабатывает! –

+1

Ну, есть одно предложение: Посмотрите и представьте условия неуправляемого кода, насколько это возможно, в вашей части кода перед вызовом. Если вам повезет, это сработает и устранит необходимость в обратном проектировании или переписывании черного ящика. – Deduplicator

ответ

1

AFAIK вы можете только отлаживать это, если у вас есть исходный код COM-компонента. После того, как вы открыли этот проект, присоедините отладчик к процессу, который вызовет/загрузит DLL компонента COM.

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