Frage

Ich habe eine alte C ++ COM-Komponente, die in Visual Studio 6.0-Format zu bleiben hat. Ich kann mich nicht für das Leben herauszufinden, wie Sie den Code in der aktuellen COM-Komponente debuggen.

Ich bin in der Lage es im Debug-Modus zu bauen, fügen Sie Haltepunkte und an den dllhost.exe Prozess anhängen, aber die Visual Studio-Umgebung zeigt mir nur die Demontage von dllhost.exe und meine Quellcode nicht (Es spielt keine auch ‚t auf den einzelnen Stützpunkten stoppen).

Ich erinnere mich vor einer Weile es einen Weg zu IIS machen (oder inetinfo.exe) die target Ihrer Debug-Aktion (dh, wenn Visual Studio 6.0 fordert Sie für die ausführbare DLL zu starten) und IIS würde in einem einzigen Prozess-Modus. Es gab einen Registrierungsschlüssel, den Sie ändern mußten, aber googeln half nicht.

War es hilfreich?

Lösung

Wenn es eine VB6 Basis COM-Komponente ist, können Sie das Projekt in VB6 öffnen und führen Sie es (ein DLL-Projekt kann nicht ausgeführt werden). Die Projekteigenschaften eine Option hat, wobei es aufgefordert werden kann, laufen, so dass es läuft und registriert sich.

Nun versucht die ASP-Seite schlagen, die einen Aufruf an COM-Komponente macht. Die Haltepunkte in den Klassendateien eingestellt werden getroffen, da die Anrufe von ASP-Seite vorgenommen werden.

Andere Tipps

Zu allererst PDB-Datei (bei der Erstellung erzeugt) sollten mit DLL im selben Verzeichnis sein (kann in Projekteigenschaften eingestellt werden).

Wenn Sie Ihr Objekt nicht einig ASP-spezifische Funktionalität nutzen (Request, Response, Session-Objekte) Sie können ihren Aufruf Code kopieren Sie die Datei und Debug über die Einstellung .vbs cscript.exe your.vbs als Debug-Zielprogramm.

Es gibt Erklärungen ( zum Beispiel ), wie ISAPI DLLs zu debuggen - sie sind für das COM-Objekt zu (von OS / Debugger Sicht sowohl DLLs in IIS-Prozess geladen sind). Setzen Sie die Aufmerksamkeit auf Ihre IIS-Version und in / out-of-Process-Material.

Und schließlich, wenn nichts anderes hilft, können Sie einige Protokollierung über Output Funktion und sieht es im freien Debugview Programm.

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