2009-06-25 3 views
11

Я пишу класс на C++, который я не могу отлаживать с помощью F5. Код будет запущен из другой «службы», которая будет вызывать его. В прошлом я использовал __debugbreak(), и когда я получил окно, сообщающее мне, что выбрано исключение для его отладки.DebugBreak не нарушает

Недавно я обновился до Windows 7 и продолжал работать некоторое время.

Сегодня, когда я попытался отлаживать часть своего кода вместо обычного диалога, который говорит мне, что VSTestHost перестает работать и разрешает мне отлаживать приложение, у меня появился другой диалог, предлагающий отправить данные в microsoft для анализа.

Кто-нибудь знает, как я могу исправить эту проблему, чтобы я смог отладить мой код?

ответ

21

Наконец-то я нашел причину проблемы. Это Vista/Win7 причина:

  1. Открыть Действие центра управления
  2. Goto Действие Центра настройки
  3. Goto Проблема Параметры отчетов
  4. Выберите «Каждый раз, когда возникает проблема, спросите меня перед проверкой решения "

Хотя это больше относится к ИТ-решению/вопросу. Я весь день сталкивался с этой проблемой и хотел поделиться этим решением с другими разработчиками, которые сталкиваются с этим профессионалом я проблема.

+0

Он определенно прекратил сообщать о выигрыше 8, но он не предлагает запускать отладчик. Он просто говорит об ошибке 1067: процесс неожиданно завершился. – mlt

0

Вы можете попробовать debug> attach to process.

+1

Иногда это может быть проблемой, поскольку к моменту присоединения к процессу ваш код уже прошел мимо этой точки. В тех случаях я считаю полезным поставить Сон (10000) прямо перед точкой, которую я хочу сломать. Дает мне достаточно времени для присоединения к процессу. – Ferruccio

+0

Я не ищу другого способа отладки - я хочу, чтобы исправить текущее, почему я отлаживаю свой код –

1

В этом случае ...

http://community.codesmithtools.com/blogs/blake/archive/2009/06/03/tips-amp-tricks-debugging-codesmith-on-microsoft-windows-7.aspx

Вот краткий обзор того, что вам нужно дел, чтобы включить отладку на Microsoft Windows 7 машины:

Update Справедливый-In -Time отладчик установки DbgJITDebugLaunchSetting. Этот параметр найден в реестре в [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework].
Установите значение DbgJITDebugLaunchSetting до 2. Если вы используете операционную систему 64-битной, то вы должны также установить один и тот же ключ (DbgJITDebugLaunchSetting) в этой папке [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework] до 2. Если вы при запуске любых проблем попробуйте запустить CodeSmith Studio и Visual Studio в качестве администратора. Теперь, когда CodeSmith входит в точку останова, вы увидите что-то вроде этого:

+0

Хорошая находка, но мне удалось решить проблему, не изменяя значение ключей до 2 (по умолчанию его 16) –