Visual Studio auf "fremd" PC Debuggen
-
Release debuggst Du genauso wie Debug... Du musst halt lokal die passenden PDB-Dateien haben... die liegen aber auch im Release ordner...
-
Ah ok .. ich seh gerade dass man sich auch hier pdb datein erzeugen kann.
Hab ich im Releasmodus nie gemacht.
Soll ich dann auch Generate Debug Info aktivieren ? Bringt das dann noch mehr ?Gruß
-
Hast Du das projekt von VC6 nach VS2008 "upgegradet"?
Wenn Du ein neues VS2008 Projekt anlegst, sind die Debug-Infos in Release automatisch aktiviert
Und so würde ich es auch einstellen, wie bei den Defaults.... hab sie aber gerade nicht im Kopf... AFAIK war es eine Einstellung unter C/C++ und eine unter Linker...
-
Ja konvertiert ...
Ja ich hab jetzt als Test ein komplett neues "mini" Programm erstellt.
Du hast recht. Ist auch so eingestellt. Ist ja super das man jetzt so auch debuggen kann
Danke für den Tip!!!!!Grüße
Martin
-
Hallo
Wollte das noch mal hoch holen ...
Wenn ich jetzt im Release mir etwas erzeuge Plus die Dlls dazu. Wo müssen die PDB Datei jetzt liegen ?
Also ich rede jetzt von Remotedebugging. (PC1 mit Studio, PC2 ohne Studio auf dem läuft die Exe)
Dort wo die Exe gestartet wird also PC2 ?
Egal wo ich sie habe PC1 oder PC2 das Modul wird nie geladen woran kann das liegen?Grüße
Martin
-
Sie müssen nur lokal vorhanden sein. Wenn sie nicht geladen werden, hast Du auf dem Zielrechner nicht die *passende* EXE (oder natürlich lokal nicht die passende PDB zur Ziel-EXE). Du kannst die PDB ja auch lokal über die Modul-Liste laden... aber normal findet er sie automatisch...
Ich setze immer den Pfad zur EXE/Image auch auf das Netzlaufwerk zum Remote-PC, so sind auf jedenfall immer die gleichen EXE/PDBs vorhanden die aich gestartet werden...
-
Hallo
Ok so mache ich das auch eigentlich.
Als Test hab ich hab mir ein neues kleines Projekt erstellt und bei dem funktioniert das auch.
Nur bei dem "alten" geht es nicht. Woran kann das liegen?
Muss aber dazusagen das mein Projekt ein Windows Service ist und von VC6 konvertiert wurde.
Gibt es irgendwo mehr die Möglichkeit rauszufinden was der eigentlich Fehler ist ?Grüße
Martin
-
Schau halt mal ob dast Datum/Uhrzeit der EXE/PDB übereinstimmt...
-
Studiere den Output im Debugger. Überprüfe in den Konfigurationseinstellungen, wohin die PDB's gepackt werden. Und ( wie schon gesagt wurde ) überprüfe die Zeitstempel deiner PDB's.
Muss man für VisualStudio 2008 eigentlich immer noch der Remote Debug Monitor auf dem Remote-Target laufen?Gruß Kimmi
-
Hi
Ja natürlich stimmen die Zeitstempel überein ... sogar auf die Sekunde.
Ich baue ja auch immer komplett neu auch mit "clean" bzw "rebuild" ...
Gebaut wird auch ohne Fehler.
Sicherheitshaler lösche ich auch immer die Datei und nach dem Bauen ist sie genau an dem Ort wo ich sie erwarte.
Also es ist definitiv die Datei. Wenn ich im Modulfenster reinschaue sehe ich das das Modul geladen ist.
Und zwar am richtigem Ort und die richtige Datei. Wenn ich aber einen Breakpoint setzen möchte meint er das die Symbole nicht geladen ist.Ich kann aber mit Sicherheit sagen das der Quellcode den ich Debugen möchte in kompilierter Form in der Exe ist.
Es ist klein und überschaubar...
Und bei einem neuem Projekt das ich erzeugt habe klappt ja auch alles. Muss man vielleicht irgendwelche Optimierungen oder sowas abschalten bei denen es nicht läuft ?
Grüße
-
So ich bins nochmal
...
Liegt wohl doch irgendwie an der Konvertierung von VC6 auf Studio 2008...
Da war "Debug Information Format" auf deaktiviert gesetzt.
Ich hab das auf "Program Database (/Zi)" gestellt .. Jetzt geht esNur für den Fall das die Erkenntnis auch mal wer braucht
Grüße ...
-
Ja, das kann natürlich sein, da in VC6 per default die Debug-Infos in der Release Version deaktiviert waren...