Remote Debugging



  • Vielleicht kann mir mal schnell jemand auf die Sprünge helfen...

    Ich habe eine Dll, die ich auf einem Zielrechner debuggen will/muss. Der Monitor läuft auf dem Rechner, die Verbindung mit meinem Entwicklungsrechner funktioniert einwandfrei.

    Ich habe die Projekteinstellungen (Release) der Dll folgendermaßen umgestellt:

    (Compiler)
    Debuginformationsformat => Programmdatenbank zum Bearbeiten und Fortfahren
    Optimierung => Deaktiviert

    (Linker)
    Debuginfo generieren => Ja

    Die Version der Dll ist auf beiden Rechnern identisch. Die PDB-Datei liegt auf dem Entwicklungsrechner.

    Nun starte ich auf dem Zielrechner eine (mit LabView erzeugte) exe, sorge dafür dass die Dll auch geladen und Funktionen daraus aufgerufen werden, hänge mich im VS an den Prozess dran und erwarte/hoffe eigentlich, dass meine Breakpoints angesprungen werden => Pustekuchen! VS sagt, es wären keine Symbole geladen.

    Hat also jemand eine Ahnung, was ich falsch mache? Oder irgendwelche Tipps, die ich noch nicht im Netz gefunden hab?

    Danke,

    _matze


  • Mod

    Gehe auf die Modul Ansicht und gib noch einmal explizit die PDB Datei an (Kontextmenü: Load Symbols). Ansonsten kannst Du auch hier die genau verlangte Version prüfen.



  • Tja, im Module-Fenster erscheinen nur ntdll.dll, wow64.dll, wow64win.dll und wow64cpu.dll. Alle eigenen Dll's und OCX's fehlen komplett (anders als bei einer lokalen Debug-Session natürlich). Was sagt mir das jetzt? 😕

    EDIT: Verhindert WOW64 jetzt irgendwie, dass der Entwicklungsrechner sehen kann, welche Module geladen werden? Das wäre ja fatal...



  • Also ich hab immer darauf geachtet, dass die pdb auch auf der Zielmaschine liegt und dort auch im selben Verzeichnis wie der Remote Debugger ist.
    Und natürlich gleiche Versionen der exe bzw. dll und der pdb !

    Hatte damit noch nie Probleme !
    Und nein, WOW64 macht da keine Probs, arbeite auch schon lange auf ner 64bit Kiste und hatte damit noch keine Sorgen...

    PS: Stimmen die Settings im Remote Debugger auch ??



  • Die exe und die dll sind identisch mit dem Stand des Entwicklungsrechners. Die PDB-Datei war allerdings noch nicht auf dem Zielrechner. Ich hatte bislang immer gelesen, dass diese lokal genutzt wird (hätte es aber ruhig mal ausprobieren können, daran habe ich dann gar nicht mehr gedacht).

    Das Thema hat sich übrigens erstmal erledigt (aber danke bis dahin). Ich habe mit das Testsystem (ein 65kg-Gerät!) nun doch aus dem Erdgeschoss hierher geholt. Das wollte ich eigentlich unbedingt vermeiden. Außerdem hängt da im Anschluss wieder einiges an Zusatzarbeit dran (Gerät muss wieder neu justiert und teilweise kalibriert werden... kotz...). Aber die Zeit drängt, ich muss fertig werden. Sobald wieder ein wenig Luft ist, werde ich mich nochmal mit dem Thema Remote Debugging beschäftigen. Ist ja eine sehr interessante und praktische Sache (wenn man es denn mal ans Laufen kriegt 😉 ).


Anmelden zum Antworten