1 c++ winapi exception-handling dll-injection
我有一个DLL被注入到非常老的,错误的,现在它的开发人员应用程序不支持.有时该应用程序崩溃,我需要一些方法来捕获所有未处理的异常(来自DLL)可能会发生以保存数据,然后才允许应用程序崩溃.我怎样才能做到这一点?
目前,有一个外部调试器用于此目的,但它太慢,并且还有错误,以保持这种方式.
Bil*_*eal 10
您必须启动一个托管DLL的新进程.如果DLL将崩溃,无论你喜欢与否,它都会打倒这个过程.当然,您可以尝试捕获异常或类似的东西,但如果抛出异常,则意味着内存已损坏.灾难性崩溃比使程序继续以不一致状态运行更好.
Windows shell是一个实际执行此操作的程序 - 它在代理进程中启动一些插件,因此如果插件崩溃,它不会导致整个shell崩溃.您需要使用进程间通信来自行与您开始的代理进行通信.