5

Ich habe wirklich meinen Kopf gegen die sprichwörtliche Wand über diesem geprügelt.DLL fehlt von der Modulliste in VS2010

Ich habe eine Lösung, die sowohl C# und C++ - Code-Projekte enthält.

Ich rufe oft die C++ DLLs, die in diesem Projekt von der C# über P/Invoke kompiliert werden. Kein Problem. Alle erforderlichen Debugger-Einstellungen durch die Datei *.sln sowie die C++ - und C# -Dateien wurden nach bestem Wissen und Gewissen richtig eingestellt. Hinweis: Ich bin oft in der Lage, ähnlich P/aufgerufen C++ - Code ohne Probleme zu debuggen!

Natürlich dachte ich, dass die Symbole vielleicht nicht geladen würden - doch beim Öffnen des Modulfensters habe ich festgestellt, dass die DLL, in die ich versuche, nicht einmal aufgeführt ist! Das Ausführen der Funktion in meinem C# -Programm verwendet tatsächlich die DLL (ich erhalte die richtige Ausgabe), aber während das Module-Fenster angezeigt wird, wird die DLL immer noch nicht angezeigt.

Hat jemand eine Idee von dem, was vor sich geht?


tl; dr

Ich habe ziemlich viel Erfahrung mit Debug-P/C++ aufgerufen. Die DLL, die ich debuggen möchte, erscheint jedoch nicht einmal in der Modulliste (daher kann ich offensichtlich nicht darauf zugreifen, wenn der VS-Debugger sich seiner Existenz völlig nicht bewusst ist).

+0

Wie können wir Ihr Szenario reproduzieren? –

+0

Sind Sie eingerichtet, Debugging im "gemischten Modus" durchzuführen? Sind keine der nativen (d. H. C++ - Module) aufgelistet oder sind einige aufgelistet, nur nicht die, die Sie zu debuggen versuchen? –

+0

David: Leider kann ich das Szenario nicht einfach reproduzieren, da dies das einzige Mal ist, dass ich jemals eine DLL in der Modulliste vermisst habe! Matt: Ich bin für das Debuggen im gemischten Modus innerhalb der C++ - Projekte festgelegt, mit Anhängen auf Ja festgelegt. Innerhalb des C# -Projekts werden die C++ - Projekte als Abhängigkeiten aufgelistet. Auch innerhalb des C# -Projekts wird das Debuggen von nicht verwaltetem Code aktiviert. Die Sache ist, dass, wenn der Code aufgerufen wird, selbst unter dem Debug> Module-Bildschirm, keine der C++ - DLLs aufgeführt sind. Haben Sie das schon einmal gesehen? Danke für deine Tipps bis jetzt! –

Antwort

8

Meine Vermutung wäre, dass Sie Debugging für nicht verwalteten Code nicht aktiviert haben. Wechseln Sie zum Eigenschaften-> Debug-Tab des Startprojekts. Aktivieren Sie "Enable unmanaged code debugging".

+0

Hallo, Matt! Danke für den Tipp! Debuggen von nicht verwaltetem Code aktivieren ist aktiviert. –

+1

NB: Dies muss auf das eigentliche Start-Projekt oder * .exe selbst gesetzt werden (was im Nachhinein schmerzhaft offensichtlich erscheint, obwohl nicht so sehr, wenn versucht wird, es zu lösen), als das bestimmte C# -Projekt P/Invoking C++. –

Verwandte Themen