Что можно использовать вместо инструкции "int 3" в 64-битной программе?


64-битная версия компилятора Visual C++ не поддерживает ассемблерных вставок, поэтому использование записи вида "__asm int 3" становится невозможным. Однако существует другой, менее известный, механизм для создания прерываний во время процесса отладки — __debugbreak(). Это встроенная (intrinsic) функция компилятора VisualC++, определённая в vc\include\intrin.h, которая фактически имеет ту же функциональность, что и int 3. В отличие от int 3 данная функция является кроссплатформенной. Аналогичной функциональностью также обладает Win32 функция DebugBreak().

Библиографический список



Найдите ошибки в своем C, C++, C# и Java коде

Предлагаем попробовать проверить код вашего проекта с помощью анализатора кода PVS-Studio. Одна найденная в нём ошибка скажет вам о пользе методологии статического анализа кода больше, чем десяток статей.

goto PVS-Studio;



Найденные ошибки

Проверено проектов
361
Собрано ошибок
13 417

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;