Visual Studio ignoriert die Haltepunkte beim Debuggen

Manchmal kann einen die Softwareentwicklung schon in den Wahnsinn treiben, vor allem wenn es um triviale Dinge geht. So sollte es ja eigentlich selbstverständlich sein, das der Debugger an einem Haltepunkt hält. Mein erster Gedanke war, das es daran liegt das ich das Projekt im Debugmodus auf „Any CPU“ eingestellt habe. Sobald ich es auf „x86“ oder „x64“ gestellt habe, hielt der Debugger an der gewünschten Stelle. Allerdings hatte ich ein ähnliches Projekt mit fast den selben Einstellungen (auch „Any CPU“), doch dort funktionierte es mit dem Debugger. Also sollte es ein Vergleich der Projektdateien richten. Nach einiger Zeit war hier auch kein Erfolg zu melden.

Beim Starten des Projektes fiel mir allerdings auf das die Haltepunkte ausgeblendet wurden:

Im Tooltip zu den Haltepunkten stand dann:

No symbols have been loaded for this document

Dies brachte mich dazu in das „bin/Debug“ Verzeichnis zu schauen und siehe da, es gab keine pdb Dateien für das Projekt. Um die pdb Dateien für das Projekt anzulegen, geht man in die Projekteinstellungen, dort auf „Build“ und dann auf „Advanced“.

In dem sich darauf öffnenden Dialog stellt man die „Debug info“ auf „full“. Damit sollten die PDB Dateien erzeugt werden und das debuggen wieder funktionieren.

Weitere Informationen gibt es unter:
http://en.wikipedia.org/wiki/Program_database
http://msdn.microsoft.com/en-us/library/yd4f8bd1%28v=vs.71%29.aspx
http://geekswithblogs.net/dbutscher/archive/2007/06/26/113472.aspx
http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspx

Git Integration im Visual Studio

Möchte man eine Subversion (SVN) Integration im Visual Studio, so nutzt man in den meisten Fällen AnkhSVN. Möchte man so etwas nun auch für Git, so sollte man sich den Git Sourcecode Provider anschauen welcher auf Codeplex unter http://gitscc.codeplex.com/ zu finden ist. Das AddIn unterstützt dabei Visual Studio 2008 und 2010, ist Open Source und steht unter der Ms-PL.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Git
http://de.wikipedia.org/wiki/Visual_Studio
http://de.wikipedia.org/wiki/Apache_Subversion

Suche im Visual Studio 2010 zurücksetzen

Das Visual Studio 2010 hat eine Suchfunktion um Zeichenketten im Quelltext zu suchen. Das Problem ist das sie sich merkt was bereits gesucht worden ist. Habe ich zum Beispiel schon einmal nach „INT“ gesucht und möchte nun aber nach „int“ suchen, so wird mir automatisch „INT“ vorgeschlagen. Um die Suche zu löschen reicht es dabei den Registryzweig:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Find

zu löschen. Möchte man dies öfter tun, so legt man sich eine clearFindHistory.reg Datei ein und füllt sie mit folgendem Inhalt:

Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Find]

Mit dieser Datei kann dann der entsprechende Zweig in der Registry nun mit einem Doppelklick gelöscht werden.

AddIn für die Syntaxhervorhebung von Shadersprachen im Visual Studio 2010

Bei der Entwicklung von Shadern (z.B. GLSL für OpenGL) hat man das Problem das es standardmäßig keine Syntaxhervorhebung durch das Visual Studio gibt. Abhilfe schafft hier das Open Source AddIn NShader welches neben GLSL auch HLSL unterstützt. Damit die Syntaxhervorhebung (bei GLSL) funktioniert müssen die Dateien bestimmte Endungen haben:

  • .frag -> für Fragmentschader
  • .vert -> für Verticeshader
  • .geom -> für Geometrieshader

Zu finden ist das ganze unter http://nshader.codeplex.com/. Das AddIn selbst steht dabei unter der Microsoft Public License (Ms-PL).

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Shader
http://de.wikipedia.org/wiki/GLSL

.NET Anwendung kann nicht debuggt werden

Ich stelle vor ein paar Tagen ein .NET Projekt von .NET 2 auf .NET 4 um. An dem Projekt hingen einige Bibliotheken welche weiterhin auf .NET 2 basierten (und dies auch weiterhin tun sollen). Nach der Umstellung ergab sich nun das Problem, das ich die Anwendung nicht mehr mit dem Debugger starten konnte.

Das Problem hängt dabei damit zusammen das das Visual Studio für .NET 1 bis .NET 3.5 sowie für .NET 4 jeweils eine eigene Debugengine benutzt. Um das Problem zu umgehen schaltete ich in den Projekteigenschaften unter Debug den Eintrag Enable the Visual Studio hosting process aus. Danach konnte ich auch mit dem gemischten Projekt wieder debuggen.

Weitere Informationen gibt es unter:
http://blogs.msdn.com/b/debugger/archive/2010/04/30/can-t-hit-breakpoints-in-a-plug-in-or-can-t-debug-net-2-0-3-0-3-5-from-a-mixed-mode-exe-project-with-visual-studio-2010.aspx