kernel32!UnhandledExceptionFilter通过判断当前进程是否附加了调试器,如果附加,就把异常交给调试器,如果没有,就把异常交给进程的UnhandledExceptionFilter处理。
kernel32!UnhandledExceptionFilte在vista之后的操作系统用BasepIsDebugPortPresent判断是否附加调试器,之前的系统据一些blog反映是用NtQueryInformationProcess来判断。
所以,调试的时候,在kernel32!UnhandledExceptionFilte先下断点,跟踪这个函数的行为,当到达判断调试器附加逻辑的地方,把判断值改为false,就可以调试进程的UnhandledExceptionFilter了。
原文:http://www.cnblogs.com/rickerliang/p/4735808.html