none
无法查找或打开 PDB 文件。 RRS feed

  • 问题

  •   程序生成成功,在运行时报错,程序输出如下:

        “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符号服务器,但错误相同

       想问下如何解决这样的问题

    2016年1月12日 14:05

答案

  • Windows event log可能有更多信息,这个和PDB是不是存在没有关系,比较常见的原因是你在32位进程中加载64位的DLL或者DLL搜索路径中没有包含你使用的DLL。


    Visual C++ MVP

    2016年1月12日 22:37
    版主

全部回复

  • 无法查找或打开 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里是不是有详细的错误信息。

    2016年1月12日 22:03
  • Windows event log可能有更多信息,这个和PDB是不是存在没有关系,比较常见的原因是你在32位进程中加载64位的DLL或者DLL搜索路径中没有包含你使用的DLL。


    Visual C++ MVP

    2016年1月12日 22:37
    版主