PreFast für die Normalsterblichen unter uns...
Eine der größten Enttäuschungen, die mir meine VS2005 Professional bereitet hatte, war der Umstand, daß sie kein PreFast enthielt, so wie die Betas von VS2005, die ich zuvor getestet hatte und mit deren PreFast-Support ich so einige Bugs in meinem Sourcecode finden konnte. Es stellte sich nämlich heraus, daß der Prefast-Support nur in den ganz großen Ausgaben ("Enterprise-Edition"?) von VS2005 steckt, nicht aber in der immerhin 700 Euro teuren "Professional", die ich mir gekauft habe. Hhhmpff!
Jetzt habe ich mir aber spaßeshalber das aktuelle Vista PlatSDK (Build 5472) installiert und siehe da: Es hat PreFast-Support! Und so schaltet man sich den scharf, unter <PSDKPath> verstehe ich dabei den Pfad zum Vista PlatSDK:
Erstmal im Startmenü nach erfolgter PlatSDK-Installation den Eintrag "Register Windows SDK Directories with Visual Studio 2005" ausführen. Das ersetzt und ergänzt die per-User-Pfade für header files und libraries, so daß sie diejenigen des PlatSDK nutzen und nicht die der VS2005-Installation so wie sie OOB konfiguriert ist.
Dann VS2005 starten und unter "Tools"-"Options" links im Baum den Ast "Projects and Solutions" auswählen, dann "VC++ Directories". Dann in der Combobox mit dem Label "Show Directories for:" rechts oben den Punkt "Executable Files" auswählen, so dieses nicht bereits ausgewählt ist. In der großen Listbox in der Mitte ist bereits der Pfad <PSDKPath>\bin eingetragen. Wir erzeugen nun einfach einen neuen Pfad der da <PSDKPath>\vc\bin lautet und tragen ihn als zweitobersten ein. Dieser Eintrag führt dazu, daß der cl.exe von nun an aus <PSDKPath>\vc\bin gestartet wird.
Um nun ein Projekt mit Prefast zu übersetzen muß man jetzt nur noch die Projektsettings ergänzen und zwar so: Das Projekt im Solution Explorer anwählen, dann im Kontextmenü "Properties" anwählen. In dem Dialog, der dann erscheint, links im Baum "Configuration Properties"-"C/C++"-"Command Line" anwählen. Dann erscheint im rechten Teil des Dialogs eine Eingabezeile unten mit dem Label "Additional options:". Dort trägt man "/analyze" (natürlich ohne die Quotes!) ein. Nun buildet man sein Projekt und freut sich, daß man nun wieder Warnungen beim Builden bekommt. Denn eins sollte jedem klar sein: Ein Projekt, das nicht schon unter W4 warnungsfrei buildet, braucht man nicht mit PreFast übersetzen. Denn wenn's dazu schon nicht reicht, hat man meiner Meinung nach eh schon 'mal den falschen Job und andererseits interessiert derjenige Personenkreis, der reguläre Warnungen toleriert oder mit W0-W3 übersetzt, sich ohnehin in der Regel nicht dafür, den eigenen Sourcecode oder Implementierungstechniken zu verbessern. Das ist im üblichen ein sich selbst verstärkender Effekt.
Trackback address for this post
No feedback yet
Comments are closed for this post.