我正在使用Visual C ++ 2008编写用于自动Word的应用程序。我设置了调试器,以便它将在CException和COleException时中断。调试时,有时我会在以下异常处中断:
MyApp.exe中0x7641c54f的首次机会异常:Microsoft C ++异常:内存位置0x068cdbe0的COleException。
这时,断点在函数_malloc_dbg中,当我查看调用堆栈时,将得到以下内容:
它表示“以下框架可能不正确和/或丢失,没有为KernelBase.dll加载任何符号”。但是我的程序是使用Debug配置构建的。如何在异常情况下获取调用堆栈?
谢谢
答案 0 :(得分:2)
由于您使用的是VS 2008,因此不确定是否有帮助,请查看Symbols for kernelbase.dll could not be downloaded - UWP, Release build only, after Windows 10 update
据我所知,您正在使用符号和调试信息来构建应用程序,但是所使用的核心库(在本例中为KernelBase.dll)却没有使用调试符号来构建。您需要掌握或启用KernelBase.dll的调试符号。
编辑:https://social.msdn.microsoft.com/Forums/vstudio/en-US/9a95bb8f-b263-4b0c-ae9c-35023c210a11/kernelbasepdb-not-included?forum=vsdebug
看来您需要kernelbase.pdb