Debuggen von Visual Studio 2010-DLL-Projekt
Ich versuche zu Debuggen von C/C++ - native-DLL-Projekt in Visual Studio 2010. Ich bin versucht, diese Anweisungen zu befolgen:
http://msdn.microsoft.com/en-us/library/c91k1xcf(v=VS.100).aspx
Möchte ich den integrierten debugger und in der Lage sein, um Schritt-code, untersuchen, Strukturen, etc. als würde ich mit einem regelmäßigen .exe-Projekt. Die Anweisungen auf der Seite oben beschreiben eine Debugging Kategorie unter Konfiguration Eigenschaften, die sehe ich nicht.
http://img707.imageshack.us/img707/4402/lalasz.png
Drücken Sie F5, um Debuggen Ergebnisse in die folgende Fehlermeldung:
Programm kann nicht gestartet "C:\Users.......Test.dll'
Habe ich die debugger für regelmäßige .- exe-Projekte viele Male, und es funktioniert gut auf diesem computer. Ich bin mir nicht sicher, ob ich bin nur etwas fehlt sehr offensichtlich, jetzt aber.
Edit: Da ich es nicht geschafft von Anfang an klar, ich will Visual Studio LoadLibrary meine DLL in einen Prozess stub und lassen Sie mich debug in ein source-level von dort aus, ähnlich wie OllyDbg tut es.
Meine DLL ist nicht der Typ, der besitzt eine Reihe von Funktionen exportiert werden, und genannt. Stattdessen tut es ein switch/case in der DllMain-und auf DLL_PROCESS_ATTACH spawnt ein neuer thread. Daher brauche ich Visual Studio zu tun ist, laden meine DLL in einen stub ausführbare Datei und erlauben Sie mir, breakpoints setzen, etc..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie mit der rechten Maustaste der name der Projektmappe im Projektmappen-Explorer-Fenster, und bekam die Lösung Eigenschaften. Beachten Sie, dass das Fenster sagt "Lösung Eigenschaft" Test-Seiten".
Rechten Maustaste auf den Namen des Projekts (Test in Fettschrift) statt zu setzen die Projekt-Optionen.
Vermutlich haben Sie sich als startup-Projekt, das eine erzeugt die dll.
Haben Sie zwei Möglichkeiten: entweder ändern Sie den Start-Projekt in ein anderes Projekt, produziert eine ausführbare Datei, die verwendet die DLL, oder konfigurieren von Projekteigenschaften die debug-Einstellungen für das dll-Projekt zu starten, eine externe Anwendung, die verwendet die dll (Projekt-Eigenschaften/Debug/Befehl).
Native DLLs laufen nicht standalone - Sie müssen im Zusammenhang mit einigen Programm. Sehen Sie diesen Teil der Anleitung Seite verwiesen wird.
"Wenn Sie das Debuggen starten aus dem Projekt, wird die DLL erstellt, müssen Sie die ausführbare Datei, die Sie verwenden möchten, in das Debuggen der DLL."
Würden Sie laufen in dieses problem ein Verwaltetes Projekt auch. Was Visual Studio ist Ihnen zu sagen ist, dass es nicht laufen die DLL, genauso wie Sie nicht Doppel-klicken Sie auf eine DLL aus dem Explorer, und ausführen eines Programms.
Um die debug-DLL schreiben Sie eine kleine Konsole Anwendung, die Aufrufe von Funktionen aus der DLL und übungen in Ihren code ein. Wenn die DLL hat eine Funktion
foo()
rufenfoo()
ausmain
in der Konsole-Anwendung. Setzen Sie die Konsole-Anwendung als "Startup" - Projekt durch Rechtsklick auf den Projektnamen im Projektmappen-Explorer und die Auswahl seiner option.Dann, wenn Sie drücken Sie F5, führen Sie die Konsole-Anwendung, die die DLL aufrufen.