Получение отладочного вывода из аварийного приложения VS2010

Вопрос: Можно ли настроить VS2010, чтобы он автоматически записывал выходные данные отладки в файл?

Мотивация: У меня есть приложение DirectX 9, которое я пытаюсь отладить. Я заметил, что когда мое приложение работает в полноэкранном режиме, оно может зависать при определенных условиях. Обычно я просто проверял свои логи или результаты отладки DirectX. Однако способ, которым моя программа терпит крах, предотвращает это. Он зависает и не отвечает на любые мои попытки завершить его (включая «Завершить процесс» из диспетчера задач). Кроме того, он также замораживает мой VS2010, и поэтому VS также не отвечает ни на какие команды. Единственный выход из всего, что я нашел, — это завершить процесс VS. Это, однако, также разрушает вывод, который я очень хотел бы прочитать.

Теперь я вижу два выхода из этого. Сначала нужно записать всю отладочную информацию в файл, но я понятия не имею, как это сделать. Во-вторых, сделать мое приложение более дружественным, но это кажется трудной задачей.

0

Решение

Наверное MiniDumpWriteMiniDump (..) помогает в этом. Вы можете в любое время вывести текущее состояние процесса в файл. После этого вы можете открыть дампы в Visual Studio и проанализировать состояние процесса — это включает в себя стеки вызовов каждого потока, значения переменных …

Попробуйте определить условия, в которых ваш процесс сбой и написать один или несколько дампов.

Еще одна попытка — установить Средства отладки Windows и использовать WinDbg для отладки вашего приложения. Это не так удобно, как в Visual Studio, но позволяет глубже понять.

Редактировать:
Если есть отладочные операторы, сделанные с OutputDebugString (..), ты можешь использовать DebugView (от Microsoft, ранее Sysinternals), чтобы отобразить его.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector