自己写的assert宏,使用int3断点
来源:岁月联盟
时间:2012-03-19
#ifdef MTK_ASSERT
#define assert(p) do{ /
if(!(p)){ /
logPrint("Assertion failed:%s/nFile:%s/nLine:%d /n", #p, __FILE__, __LINE__); /
__asm {int 3} /
} /
}while(0)
#else
#define assert(p)
#endif
摘自百度百科片段:
INT3断点是断点的一种,在诸如Ollydbg中的快捷键是F2,是一种很常用的断点类型。INT3指令的机器码为CC,所以通常也称之为CC指令。当被调试进程执行INT3指令导致一个异常时,调试器就会捕捉这个异常从而停在断点处,然后将断点处的指令恢复成原来的指令。当然,如果自己写调试器,也可以用其他一些指令代替INT3指令来触发异常。
摘自 inrg's blog
上一篇:c++构造函数
下一篇:C++的一个语法问题