在 Microsoft Windows API 中,您可以使用SetUnhandledExceptionFilter为未处理的异常设置处理程序。该页面上提到的最大问题是:
如果在未调试的进程中发生异常,并且异常进入未处理的异常过滤器,则该过滤器将调用由 lpTopLevelExceptionFilter 参数指定的异常过滤器函数。
(重点补充)
这基本上意味着,如果进程正在调试,调试器会收到异常,并且我的过滤器会被跳过!
我可以使用 printfs 和 trial-n-error 以老式方式测试和调试我的 ExceptionFilter。
但我错过了什么吗?如果 ExceptionFilter 在调试器中被禁用,是否有一种交互式调试的好方法?