Just-in-Time debugging
Имеется интересная опция отладки Just-in-Time debugging (назовем ее отладкой здесь-и-теперь). При отладке здесь-и-теперь ваше приложение работает вне интегрированной среды Visual C++, пока не происходит ошибки. При ошибке программы автоматически запускается отладчик Visual C++. Чтобы построить программу с возможностью отладки здесь-и-теперь, нужно сделать следующее:
1. Выберите Options в меню Tools.
2. Выберите закладку Debug.
3. Пометьте флажок Just-in-Time debugging.
5. В меню Build выполните Build .exe.
Чтобы активировать отладку здесь-и-теперь в Windows NT, программист должен иметь привилегии администратора.
Страница Debug в окне Options

Отладчик очень гибок в отношении форматирования выводимых данных. В то время как многие опции можно менять «на ходу», иногда предпочтителен единообразный формат вывода. Рис.8показывает страницу Debug окна Орtions для установки таких предопределенных форматов. К странице Debug можно обратиться через меню Tools | Options. Имеющиеся на странице установки описываются в следующих параграфах.
Рис.8 Страница Tools | Options | Debug.
В табл.5 даны комментарии к флагам опций отладчика MS VC++6.0.
Таблица 5. Опции Debug.
При установке этого флажка все выводимые значения представляются, а вводимые пользователем воспринимаются как шестнадцатеричные. Когда флажок помечен, обычные десятичные значения можно вводить с префиксом On, например Оn123456789.
При установке флажка вывод вашего исходного кода сопровождается параллельным переводом на язык ассемблера.
При установке с каждой инструкцией ассемблера ассоциируются байты машинного кода.
Опция выводит в окне Disassembly символические имена адресов.
Опция выводит в окне стека вызовов все значения, переданные в параметрах функций.
Опция выводит в окне стека вызовов информацию о типах переданных функции параметров.
Опция отображает в окне Variables значения, возвращаемые функциями.
Load COFF & Exports
Опция позволяет отладчику при отсутствии отладочной информации загружать COFF-формат или экспортируемые символы DLL.
Окно Address позволяет указать начальный адрес по умолчанию для окна Memory Dump.
Этот список позволяет выбрать формат по умолчанию для типа данных в окне дампа памяти; доступно 13 форматов, таких как ASCII, Byte, Long, Real и Int64.
Эта опция автоматически перемещает содержимое окна Memory Dump. Когда вы вводите в окне Memory Dump имя переменной-указателя, содержимое окна будет обновляться всякий раз, когда адрес в указателе меняется. При выключенной опции содержимое окна дампа меняться не будет, даже если адрес-содержимое переменной изменяется.
Show data bytes
Отображаются сырые байту данных.
Указывает формат фиксированной ширины для окна Memory Dump. Работает совместно со списком Format.
Display Unicode strings
Отображает строки формата Unicode. Это полезно, когда отлаживаемое приложение вводит и выводит тексты в многоязыковых форматах.
View floating point registers
Отображает в окне Registers содержимое регистров плавающей арифметики.
Построенная с такой опцией программа может выполняться вне среды Visual Studio, загружая отладчик Visual C++ только при возникновении ошибки.
OLE RFC debugging
Позволяет отлаживать вызовы удаленных процедур.
Debug commands invoke Edit and Continue
Когда этот флажок установлен, многие, хотя и не все изменения исходного кода могут автоматически вноситься в исполняемый модуль программы при исполнении таких команд, как Go, Step Into, Step Over или Run.
Научный форум dxdy
Всем привет! Кто-нибудь может дать определение Just in time debugger (JIT)? Единственное, что я пока понял, так это то, что в ОС есть своя встроенная программа перехвата неправильно выполняющихся приложений. При установке С++ Builder 6.0. предлагается перейти на debugger от c++. Раньше я долго не думал, и нажимал YES. Во время работы на компе начинают всплывать стрёмные messages от Builder’a (какие-то адреса, и даже нулевой адрес, таблица с чем-то очень похожим на Assembler). В общем на всё это дело я нажимал Reset (Crtl+F2). Первое время помагало, до того, как винда перестала грузится. Белыми буквами на синем фоне была непонятная ошибка (даже какие-то упоминания о Ntfs.sys . ). Короче, перебил винду. Начал ставить компилятор. Во время установки сказал JIT’ту — NO. Короче, проги в конфигурации Debug не компилятся, только в Release. Что делать?
Re: Just In Time Debugger
26.01.2011, 00:24
Just in time debugger — отладка во время исполнения программы. Ну точки останова(brack point — бряк), прерывания исполнения программы и тд.
Цитата:
Во время работы на компе начинают всплывать стрёмные messages от Builder’a (какие-то адреса, и даже нулевой адрес, таблица с чем-то очень похожим на Assembler).
Когда ОС видит что при работе приложения возникла ошибка(исключение процессора) она проверяет может ли приложение обработать эту ошибку. Если не может то ОС спрашивает у пользователя что делать с этим? На выбор два пункта закрыть приложения или начать отладку. Тогда управление передается в отладчик пользовательского режима.
Цитата:
Первое время помагало, до того, как винда перестала грузится. Белыми буквами на синем фоне была непонятная ошибка (даже какие-то упоминания о Ntfs.sys . ).
Синий экран — это синий экран смерти (от английского Blue Screen of Death сокращенно BSOD).
Возникает когда ошибка произошла в ядре и уже ничего поделать нельзя и система умирает. Правда перед этим она выводит код ошибки. А также сбрасывает на диск дам памяти для дальнейшего анализа.
Эти две вещи не связаны. Единственно что их может связывать это уже аппаратные сбои.
Цитата:
Во время установки сказал JIT’ту — NO. Короче, проги в конфигурации Debug не компилятся, только в Release. Что делать?
Должны компилироваться. Другое дело что пошаговая отладка вам будет не доступна. Release от Debug отличается наличием спец кода для отладки:логи, более надежный способ выделения памяти. А также в Debug присутствуют отладочные символы- Сишный код привязанный к позициям в файле. Названия переменных. Надо чтобы при отладке выводился код программы и простота просмотра переменных.
Да и во вторых по моему он спрашивает «не ставить или ставить?» а сделать отладчик борлонда отладчиком по умолчанию. Стандартный виндоусовский отладчик это доктор ватсон.
— Ср янв 26, 2011 01:25:41 —
И при загрузке Builder обычно переспрашивает. А также в опциях можно включить отладчик.
Just in time debugging что это такое
Отладчик реагирует только на то, что вызывает ошибки. точнее даже не отладчик а винда.
У тебя по-любому было бы сообщение об ошибке.
(3) mp3 ни при чем. другие плейера их легко играют и VLC может долго играть одни и те же без ошибки, а потом на любом вылететь.
(4) не хотелось бы переставляться, да и не факт что поможет. винда с новым ноутом шла. правда на другом компе есть тоже самое за исключением разницы в винде, там проф. ошибок не видел.
Отключение JIT-отладки
Диалоговое окно JIT-отладки может открываться при возникновении ошибок в используемом приложении, препятствуя его работе.
JIT-отладчик позволяет быстро запустить Visual Studio для устранения ошибки. Для просмотра подробных сведений об ошибке или попытки отладки нужно установить среду Visual Studio или другой отладчик.
Если вы уже являетесь пользователем Visual Studio и после возникновения ошибки намерены выполнить отладку с помощью JIT-отладчика, перейдите к этой статье. Если вам не удается исправить ошибку или вы хотите запретить открытие JIT-отладчика, вы можете отключить JIT-отладку из Visual Studio.
Если набор средств Visual Studio был ранее установлен, но теперь его нет, придется нужно будет JIT-отладку через реестр Windows.
Если набор средств Visual Studio не установлен, для отключения JIT-отладки можно отключить отладку скриптов или отладку на стороне сервера.

- Если вы пытаетесь запустить веб-приложение, отключите отладку скриптов. Для этого откройте раздел Панель управления Windows>Сети и Интернет>Свойства обозревателя, а затем выберите элементы Отключить отладку скриптов (Internet Explorer) и Отключить отладку скриптов (другие). Конкретные действия и параметры зависят от используемых версий Windows и браузера.
- Если вы размещаете веб-приложение ASP.NET в IIS, отключите отладку на стороне сервера, выполнив следующие действия:
- В режиме просмотра компонентов диспетчера IIS в разделе ASP.NET дважды щелкните Компиляция .NET или выберите этот элемент и щелкните команду Открыть компонент в области Действия.
- В разделе Поведение>Отладка выберите значение False. В более ранних версиях IIS используется другой процесс.
Возможно, отключение JIT-отладки позволит приложению преодолеть ошибку и работать нормально.
Если необработанная ошибка в приложении сохранится, может отобразиться сообщение об ошибке либо приложение может перестать отвечать или аварийно завершить работу. В этом случае нормальная работа приложения будет невозможна без исправления ошибки. Попробуйте связаться с теми, кто отвечает за это приложение, и попросить исправить ошибку.