我正在编写一个在dllhost.exe代理中运行的inproc com dll,但我发现调试它的问题。
在我编写的exe文件中,我有一个顶级异常处理程序,它创建一个.dmp文件,我可以在windbg中加载然后崩溃,我不确定如何从dllhost执行此操作。还有另一种方法可以在崩溃时从dllhost.exe生成堆栈转储吗?我已经看过这个页面(http://support.microsoft.com/kb/910904),但它似乎涉及组件服务程序。是否有一些注册表设置?因为它会安装在其他计算机上。由于
答案 0 :(得分:0)
您可以设置一个及时调试器,以便在进程崩溃时运行,而不是让进程自行转储。对于旧版本的Windows,Dr.Watson是一个很好的可以自动为崩溃的应用程序生成转储:http://en.wikipedia.org/wiki/Dr.Watson(debugger)我相信Windows Vista及更高版本已将Dr.Watson替换为Windows错误报告(http://support.microsoft.com/kb/931673)
一个更简单的工具是Sysinternals procdump(使用-e选项转储未处理的异常):http://technet.microsoft.com/en-us/sysinternals/dd996900