Правильно это создать свою функцию:
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
}
Мы с Вами опустились в наших шагах в самый низ, практически до аппаратуры. Будем постепенно подниматься вверх.