Premier utilisateur de C #, mais j'ai de l'expérience avec Java.
J'ai écrit un programme Hello World pour me lancer, mais je reçois ce cannot find or open the PDB file
erreur lors de la compilation.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\Assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\Assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\Assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\Assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\Assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\Assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\Assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'c:\users\520\documents\visual studio 2013\Projects\ConsoleApplication4\ConsoleApplication4\bin\Debug\ConsoleApplication4.vshost.exe'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\Assembly\GAC_64\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\Assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\Assembly\GAC_MSIL\System.Drawing.Design\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.Design.dll'. Cannot find or open the PDB file.
The thread 0xa14 has exited with code 259 (0x103).
The thread 0x235c has exited with code 259 (0x103).
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'c:\users\520\documents\visual studio 2013\Projects\ConsoleApplication4\ConsoleApplication4\bin\Debug\ConsoleApplication4.exe'. Symbols loaded.
The thread 0x25b8 has exited with code 259 (0x103).
The thread 0x9d0 has exited with code 259 (0x103).
The program '[8756] ConsoleApplication4.vshost.exe' has exited with code 0 (0x0).
The program '[8756] ConsoleApplication4.vshost.exe: Program Trace' has exited with code 0 (0x0).
Quel pourrait être le problème?
Ce qui importe le plus, c'est bien, les symboles de votre propre code peuvent être chargés: ...ConsoleApplication4.exe'. Symbols loaded.
Les autres symboles manquants concernent les assemblys (dll) du système .NET. Ils ne sont pas nécessaires tout le temps, vous pouvez déboguer votre code sans eux, mais si vous faites des choses avancées comme la messagerie, la majorité de votre pile ne pourra pas être déroulée.
Je préfère avoir autant de pdbs système (fichiers de symboles de débogage) que possible. C'est très facile à configurer avec VS 2012, je suppose que VS 2013 est tout aussi simple, voire meilleur. http://msdn.Microsoft.com/en-us/library/b8ttk8zy%28v=vs.90%29.aspx
Notez qu'après avoir configuré le téléchargement des symboles, vous subirez un retard majeur la première fois que vous déboguerez votre code. C'est à ce moment que le téléchargement des symboles a lieu. Une fois cela fait, le débogage sera à nouveau rapide (car de nouveaux symboles ne sont nécessaires que si le système .NET obtient des mises à jour qui affectent également vos assemblys).
J'installe également "Debugging Tools for Windows xy"
et "Windows xy SDK"
aussi (où xy = 7, 8, 8.1 plus l'architecture compte aussi: X64 ou 32), même si je ne fais que déboguer le code managé (c'est le terme pour les programmes écrits en .NET et les langages manipulés). http://msdn.Microsoft.com/en-us/library/windows/hardware/ff551063%28v=vs.85%29.aspx
Un assemblage pour lequel vous ne pouvez pas obtenir de symbole est le ConsoleApplication4.vshost.exe
. C'est un stub que le débogueur Visual Studio utilise pour démarrer votre programme. Vous pouvez le voir dans l'Explorateur de processus (suite d'outils Sysinternals), parfois d'autres instances persistent.