Шаг 17 - Как правильно использовать прерывание отладки

Правильно это создать свою функцию:

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
}

Мы с Вами опустились в наших шагах в самый низ, практически до аппаратуры. Будем постепенно подниматься вверх.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.