积极答复者
无法查找或打开 PDB 文件。

问题
-
程序生成成功,在运行时报错,程序输出如下:
“Synopsis.exe”(Win32): 已加载“E:\C++Program\Synopsis\x64\Debug\Synopsis.exe”。已加载符号。
“Synopsis.exe”(Win32): 已加载“C:\Windows\System32\ntdll.dll”。已加载符号。
“Synopsis.exe”(Win32): 已加载“C:\Windows\System32\kernel32.dll”。已加载符号。
“Synopsis.exe”(Win32): 已加载“C:\Windows\System32\KernelBase.dll”。已加载符号。
“Synopsis.exe”(Win32): 已加载“E:\C++Program\OpenCV-2.4.5\opencv\build\x64\vc9\bin\opencv_core245d.dll”。无法查找或打开 PDB 文件。
程序“[29464] Synopsis.exe”已退出,返回值为 -1072365566 (0xc0150002)。Visual C++ 2012,安装的opencv版本2.4.5,对opencv进行了应该是正确的配置,包括相关的库文件、引用文件、包含文件都进行了配置,也能使用opencv正确运行读图程序,但是读图运行关闭后的输出也会显示各种无法查找或打开PDB文件,
在无法查找和打开PDB文档那一行显示的dll文档确实存在。
已经采取的处理办法:Tool->属性->调试->常规-》勾选 启动源服务器支持, 以及符号中的Microsoft符号服务器,但错误相同
想问下如何解决这样的问题
答案
-
Windows event log可能有更多信息,这个和PDB是不是存在没有关系,比较常见的原因是你在32位进程中加载64位的DLL或者DLL搜索路径中没有包含你使用的DLL。
Visual C++ MVP- 已标记为答案 May Wang - MSFT 2016年1月22日 3:18
全部回复
-
无法查找或打开 PDB 文件,这种错误应该只是影响调试,不会影响运行。
还是要从返回的错误值入手。
下面这个帖子说
// MessageText:
//
// Windows was not able to process the application binding information.
// Please refer to your System Event Log for further information.
//
#define STATUS_SXS_CANT_GEN_ACTCTX ((NTSTATUS)0xC0150002L)
Look in the event log.Application failed to initialize properly 0xc0150002 after deployment on non-development PC's
估计还是opencv运行时没有配置好,你可以看看event log里是不是有详细的错误信息。
-
Windows event log可能有更多信息,这个和PDB是不是存在没有关系,比较常见的原因是你在32位进程中加载64位的DLL或者DLL搜索路径中没有包含你使用的DLL。
Visual C++ MVP- 已标记为答案 May Wang - MSFT 2016年1月22日 3:18