DebugBreak()
这个函数是
WinCE
使用的调试函数。在
上,它其实是只是一条机器指令。反汇编后得到
0xE600010
,这正是
指令集中的
undefined instruction
。自然它会引起
CPU
的异常处理,此时也就给了
debugger
抓住异常的机会。之后的调试就顺理成章的开始了。
可是不过此时debugger没有打开,windows如何处理呢?这个程序会崩溃?强制退出?其实windows不会这样做,只是忽略这个异常,调用该函数的进程不会遭到踢出的待遇。
Windows对外的C编译器不允许内联汇编,所以该函数定在.S文件中定义,不过可惜我没有找到代码。