C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 19 - Точка прерывание в MFC AfxDebugBreak / Отладка / Visual C++

Шаг 19 - Точка прерывание в MFC AfxDebugBreak

В 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

| |
Автор Каев Артем.
[AD]