Frage

Ich versuche, Entschlacken zu verwenden 6 einen Speicherfehler in einem unserem Executables mit VC ++ 2003 (7.1).

gebaut analysieren

Wenn ich Instrument der Binärdatei mit dem Befehl:

purify /Replace=yes /Run=no myprog.exe

Die Instrumentierung bricht mir das ausführbare erzählt wurde schrittweise verknüpft. Verwirrt, überprüfte ich die Build-Optionen, aber /INCREMENTAL:NO da war. Um sicher zu gehen, wieder aufgebaut ich es und die Option korrekt zu Verbindungszeitpunkt übergeben.

Gibt es eine Möglichkeit zu wissen, ob eine ausführbare inkrementell verknüpft wurde oder nicht?

hatte ich einen Blick auf, was dumpbin /HEADERS sagt aber nichts relevant sehen.

Danke.

War es hilfreich?

Lösung

Option 1:

c: ...> dumpbin / Zusammenfassung whatever.exe

Suchen Sie nach einem ".textbss" Abschnitt.

Ich bin mir nicht sicher, dass diese zu 100% zuverlässig ist, aber nach meiner Erfahrung fügt der Linker immer diesen Abschnitt, wenn die inkrementelle Verknüpfen zu tun.

Option 2:

Suchen Sie nach einer „ILK“ Datei neben der ausführbaren Datei. Visual Studio scheint über die Reinigung dieses bis gut zu sein, wenn sie nicht gewohnt sind, so deaktivieren inkrementelles Verknüpfen und Gebäude (nicht einmal ein „Wiederaufbau“) sollte es entfernen.

Option 3:

Aktivieren Build Protokollierung (Extras / Optionen / Projekte) und suchen Sie nach "/ Incremental" oder "/ INCREMENTAL: NO". In der buildlog.html-Datei, die es erzeugt

Option 4:

Analysieren Sie die VCPROJ-Datei. (Ick!)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top