В MFC есть своя точка прерывания AfxDebugBreak(). Для того, чтобы ей воспользоваться нужно как минимум подключить заголовочный файл afx.h. Вот полный пример:
#include "stdafx.h" #include "afx.h" void test(); struct strs { int i; int j; }; void main() { int i=255; test(); i=i+i; } void test() { int y; y=234; for (int x=0;x<10000;x++) { strs ss; ss.i = 10; ss.j = 5; y=y+y; AfxDebugBreak(); } }
Так вот изучение этого макроса показало, что есть флаг не использовать CRT, тогда в зависимости от платформы разработки производится вызов прерывания или функции Win32API DebugBreak().
#ifdef _AFX_NO_DEBUG_CRT #if defined(_M_IX86) && !defined(_AFX_PORTABLE) #define AfxDebugBreak() _asm { int 3 } #else #define AfxDebugBreak() DebugBreak() #endif #else #define AfxDebugBreak() _CrtDbgBreak() #endif