Правильно это создать свою функцию:
void DebugStop() { #if defined _DEBUG _asm int 3h #endif }
Которой в последствии можно воспользоваться:
void test() { int y; y=234; for (int x=0;x<10000;x++) { strs ss; ss.i = 10; ss.j = 5; y=y+y; DebugStop(); } }
Она будет присутствовать только в отладочной версии. Но вопрос, почему ответ простой. Это прерывание аппаратное и зависит от процессора. Для полной совместимости нам бы надо проверять, что проект собирается именно на данном процессоре, пример кода ниже. Могут быть и другие тонкости и лучше, если отладочное прерывание указано в одном месте.
void DebugStop() { #if defined _DEBUG #if defined(_M_IX86) _asm int 3h #endif #endif }
Мы с Вами опустились в наших шагах в самый низ, практически до аппаратуры. Будем постепенно подниматься вверх.