问一下如何在excel 的com加载项发生未处理异常时,生成dmp文件。我有尝试过使用SetUnhandlExceptionFilter,但是每次都是先崩溃,设置的回调函数没有响应到。参考的博客链接如下:https://blog.csdn.net/hiwubihe/article/details/52648002。自己实现的exe能够生成崩溃包,但是在excel的com加载项中没有作用

解决方案 »

  1.   

    try/catch()不行吗?
      

  2.   

    我们希望的是,当有我们未知的异常发生时,我们能够生成对应dmp文件,然后利用这个dmp文件进行分析。
      

  3.   

    没有人知道吗?我们创建了一个dll,该dll被excel加载了,但是崩溃时异常先被excel捕获了。我们希望该消息能够被我们的dll捕获
      

  4.   

    SetUnhandlExceptionFilter 的句柄可能会被修改, 
    可以试试  __try __except 自己捕获 SEH异常 ,然后 MiniDumpWriteDump 输出 可以调试的奔溃日志
      

  5.   

    谢谢,我之前尝试了这个方法是有效的。但是有一个问题或者说不方便的地方,__try __except里面的代码不允许有局部变量的定义,例如:定义一个CString变量,都会编译失败。必须封装成一个函数,然后放入__try 里面。有什么方法可以让他允许有局部变量的定义吗?
      

  6.   

    再封装一次函数即可xx fun(xx ) { xxx xxx }__try { fun() } __except(xxx)