0

I am using Visual Studio 2010, with OpenCV 2.4.9.

I try to debug my program but I get the "Cannot find or open the PDB file". I solved the problem a little thanks to this. However; I am not able to find or open the PDB files associated with the *.dll related with OpenCV:

  • opencv_objdetect249d.dll
  • opencv_video249d.dll
  • opencv_imgproc249d.dll
  • opencv_highgui249d.dll

The PDB file exists in the same directory as the dll, and I have also cleaned and have rebuilt the solution.

Anyone have any thoughts on this?

The error:

'HierarchyEnsemble_Debug.exe': se cargó 'F:\JoseSeguimientoPersonas\Original Hierarchy Ensemble\HierarchyEnsemble\x64\Debug\HierarchyEnsemble_Debug.exe', Símbolos cargados.
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\ntdll.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\kernel32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\KernelBase.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'F:\JoseSeguimientoPersonas\Original Hierarchy Ensemble\HierarchyEnsemble\HierarchyEnsemble\opencv_core249d.dll', Cannot find or open the PDB file
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\msvcp100d.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\msvcr100d.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'F:\JoseSeguimientoPersonas\Original Hierarchy Ensemble\HierarchyEnsemble\HierarchyEnsemble\opencv_highgui249d.dll', Cannot find or open the PDB file
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\user32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\gdi32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\lpk.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\usp10.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\msvcrt.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\ole32.dll', Símbolos cargados.
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\rpcrt4.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\oleaut32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\advapi32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\sechost.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18837_none_a4d981ff711297b6\comctl32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\avifil32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\winmm.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\msacm32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\msvfw32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\shell32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\shlwapi.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\avicap32.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'C:\Windows\System32\version.dll', Símbolos cargados (eliminada la información de origen).
'HierarchyEnsemble_Debug.exe': se cargó 'F:\JoseSeguimientoPersonas\Original Hierarchy Ensemble\HierarchyEnsemble\HierarchyEnsemble\opencv_imgproc249d.dll', Cannot find or open the PDB file
'HierarchyEnsemble_Debug.exe': se cargó 'F:\JoseSeguimientoPersonas\Original Hierarchy Ensemble\HierarchyEnsemble\HierarchyEnsemble\opencv_objdetect249d.dll', Cannot find or open the PDB file
'HierarchyEnsemble_Debug.exe': se cargó 'F:\JoseSeguimientoPersonas\Original Hierarchy Ensemble\HierarchyEnsemble\HierarchyEnsemble\opencv_video249d.dll', Cannot find or open the PDB file
'HierarchyEnsemble_Debug.exe': se cargó 'F:\JoseSeguimientoPersonas\Original Hierarchy Ensemble\HierarchyEnsemble\HierarchyEnsemble\libxml2-2.dll', El binario no se generó con la información de depuración.

Thanks in advance.

Matt Johnson-Pint
  • 230,703
  • 74
  • 448
  • 575
JoseleMG
  • 302
  • 5
  • 18
  • 1
    do you really want to dig into OpenCV code? I mean those just in case you want to see what is inside OpenCV's function – Humam Helfawi Jan 08 '16 at 15:16
  • Not really. I'm just debugging my code, and I can't view the results because it ends: El programa '[5312] JoseDef.exe: Nativo' terminó con código -1073741701 (0xc000007b). – JoseleMG Jan 08 '16 at 15:34
  • If you do not want to debug the internals of opencv then you do not need the pdb file. Missing a pdb file will not cause your program to end early. Most likely a bug in your code would be the cause of early termination. – drescherjm Jan 08 '16 at 15:49
  • @HumamHelfawi The program '[5312] JoseDef.exe: Native' ended with code -1073741701 (0xc000007b) – JoseleMG Jan 08 '16 at 15:58
  • @drescherjm Really? It compiles well, then I build the solution and this error appears without being able to do nothing. If there is a bug in my code, how could I find it if I can't debug nothing? – JoseleMG Jan 08 '16 at 16:02
  • Oh sorry. 0xc000007b may indicate that you have missing dlls or your dlls are 32 bit when your application is 64 bit or viseversa. Make sure that the opencv dlls that are in your path are for VIsual Studio 2010 and are the same 32 / 64 bit as the program you are building. – drescherjm Jan 08 '16 at 16:57
  • @drescherjm My program is 64 bit. I load my dlls from x64\vc10 (directly downloaded from the opencv version 2.4.9) so I understand that my dlls are 64 bit and I'm doing the things right, do I? – JoseleMG Jan 08 '16 at 17:14
  • Maybe its time to check the dll dependencies with dependency walker. http://www.dependencywalker.com/ – drescherjm Jan 08 '16 at 17:33
  • @drescherjm I have checked the dll dependencies that I use as you suggested and I have found something interesting. The file libxml2-2.dll is 64 bits and depends on others dlls. One of them, libiconv-2.dll, is 32 bits and maybe that's my problem. In DependencyWalker appears this message: "Error: Modules with different CPU types were found." However, I haven't found any "libiconv-2.dll" of 64 bits in the web, why? Could be this my problem? Thanks for your responses. – JoseleMG Jan 10 '16 at 15:08
  • 1
    @drescherjm Finally, I found the "libiconv-2.dll" of 64 bits!! Thank you very much for your help :D – JoseleMG Jan 10 '16 at 19:19

0 Answers0