当前位置:编程学习 > C/C++ >>

自己写的assert宏,使用int3断点

#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++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,