2010-04-15 7 views
1

Je crée une application qui dépend de la bibliothèque tierce, qui dépend à son tour de MSVCP90D.dll. Lors de l'exécution de l'application, il ne démarre pas et affiche un message d'erreur:Comment faire pour déboguer les erreurs manifestes?

alt text http://i39.tinypic.com/dn0ihf.jpg

J'ai trouvé cette bibliothèque C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\amd64\Microsoft.VC90.DebugCRT et C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC90.DebugCRT. Comme vous pouvez le voir, l'un d'entre eux est en 64 bits, tandis que l'autre est en 32 bits. Lorsque j'ai placé 64 bits dans le répertoire de l'application, l'application se bloque silencieusement pendant le chargement (le journal de la fenêtre Visual Studio Output est ci-dessous). Avec une 32 bits je reçois un autre message d'erreur:

alt text http://i43.tinypic.com/33azzoj.jpg

Si je presse Abort - programmes arrête, Retry résultats à briser en session de débogage pour le fichier crt0msg.c. C'est un fichier système et je n'ai aucune idée de comment le déboguer. Si je presse Ignorer je reçois un autre message d'erreur:

alt text http://i39.tinypic.com/vhf4ia.jpg

La question est comment déboguer ces erreurs? S'il vous plaît donnez-moi des liens où je peux en savoir plus ou me dire exactement ce que je devrais faire dans de tels cas. Je sais que cela concerne des problèmes manifestes, donc si vous en connaissez, veuillez me donner un lien vers une bonne ressource qui décrit les manifestes en détail, puisque ce que j'ai trouvé jusqu'ici ne m'a que troublé. J'utilise Windows 7 64 bits, Visual Studio 2008 version 9.0.30729.4108 QFE.

Ce journal est la version 64 bits de la bibliothèque MSVCP90D.dll:

'chrome.exe': Loaded 'D:\Projects\Chromium\devenv\install\build-msvc-debug\chromium-xml3d-rtsg2\chrome.exe', Symbols loaded. 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\shell32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\winmm.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\psapi.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'D:\Projects\Chromium\devenv\install\build-msvc-debug\chromium-xml3d-rtsg2\chrome.dll', Symbols loaded. 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc\comctl32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\oleacc.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\opengl32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\glu32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\ddraw.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\dciman32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\setupapi.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\devobj.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\secur32.dll', Symbols loaded (source information stripped). 
'chrome.exe': Loaded 'D:\Projects\Chromium\devenv\install\build-msvc-debug\rtsg2\bin\RTSG2.dll', Symbols loaded. 
'chrome.exe': Unloaded 'D:\Projects\Chromium\devenv\install\build-msvc-debug\chromium-xml3d-rtsg2\chrome.dll' 
'chrome.exe': Unloaded 'D:\Projects\Chromium\devenv\install\build-msvc-debug\rtsg2\bin\RTSG2.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\secur32.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\opengl32.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\ddraw.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\dwmapi.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\setupapi.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\devobj.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\cfgmgr32.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\dciman32.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\glu32.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\oleacc.dll' 
'chrome.exe': Unloaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc\comctl32.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\oleaut32.dll' 
'chrome.exe': Unloaded 'C:\Windows\SysWOW64\ole32.dll' 
'chrome.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Symbols loaded (source information stripped). 
The program '[1152] chrome.exe: Native' has exited with code 9 (0x9). 

Répondre

8

Après avoir étudié quelques ressources en ligne, je me suis trouvé la solution. Les manifestes doivent donc être intégrés dans toutes les applications et bibliothèques dépendantes qui nécessitent le chargement d'une bibliothèque externe à son tour. Dans ma situation, la bibliothèque tierce que j'utilisais n'incluait pas un tel manifeste. J'ai manuellement inclus un et cela a résolu le problème.

Outils que j'ai utilisé pour le débogage ce problème ont été Resource Hacker, Dependency Walker et quelques manuels, y compris en ligne d'autres questions sur StackOverflow:

Espérons que cela sera utile pour quelqu'un.


+0

pourrait-il que vous pouvez utiliser l'un des kits de certification ces jours-ci? – 0xC0000022L