Debuggen über ein DLL-Projekt in Visual Studio (C#, C++, Visual Basic, F#)

Eine Möglichkeit zum Debuggen eines DLL-Projekts besteht darin, die aufrufende App in den Eigenschaften des DLL-Projekts anzugeben. Dann können Sie mit dem Debuggen über das DLL-Projekt beginnen. Damit diese Methode funktioniert, muss die App dieselbe DLL an demselben Speicherort aufrufen, die mit Ihrer Konfiguration identisch ist. Wenn die App eine andere Version der DLL findet und lädt, enthält diese Version Ihre Haltepunkte nicht. Weitere Methoden zum Debuggen von DLLs sind unter Debuggen von DLL-Projekten beschrieben.

Wenn Ihre verwaltete App eine native DLL oder die native App eine verwaltete DLL aufruft, können Sie sowohl die DLL als auch die aufrufende App debuggen. Weitere Informationen finden Sie unter Vorgehensweise: Debuggen im gemischten Modus.

Native und verwaltete DLL-Projekte verfügen über unterschiedliche Einstellungen, um aufrufende Apps anzugeben.

Angeben einer aufrufenden App in einem nativen DLL-Projekt

  1. Wählen Sie im Projektmappen-Explorer das C++-DLL-Projekt aus. Wählen Sie das Symbol Eigenschaften aus, und drücken Sie ALT+EINGABETASTE, oder klicken Sie mit der rechten Maustaste, und wählen Sie Eigenschaften aus.

  2. Stellen Sie im Dialogfeld <Projekt> Eigenschaftenseiten sicher, dass das Feld Konfiguration am oberen Rand des Fensters auf Debuggen eingestellt ist.

  3. Wählen Sie Konfigurationseigenschaften>Debuggen aus.

  4. Wählen Sie in der Liste Zu startender Debugger entweder Lokaler Windows-Debugger oder Remote-Windows-Debugger aus.

  5. Fügen Sie im Feld Befehl oder Remotebefehl den vollqualifizierten Pfad und den Dateinamen der aufrufenden App hinzu, z. B. eine EXE-Datei.

    Debug Properties window

  6. Fügen Sie die notwendigen Programmargumente in das Feld Befehlsargumente ein.

  7. Klicken Sie auf OK.

Geben Sie eine aufrufende App in einem C#-DLL-Projekt an (.NET Core, .NET 5+).

  1. Wählen Sie im Projektmappen-Explorer das C#- oder Visual Basic-DLL-Projekt aus. Wählen Sie das Symbol Eigenschaften aus, und drücken Sie ALT+EINGABETASTE, oder klicken Sie mit der rechten Maustaste, und wählen Sie Eigenschaften aus.

  2. Wählen Sie auf der Registerkarte „Debuggen“ die Option zum Öffnen der Benutzeroberfläche von Debugstartprofilen aus.

  3. Klicken Sie im Dialogfeld „Startprofile“ auf das Symbol Neues Profil erstellen, und wählen Sie Ausführbare Datei aus.

    Screenshot of the UI to create a new debug profile.

  4. Navigieren Sie im neuen Profil unter Ausführbare Datei zum Speicherort der ausführbaren Datei (EXE-Datei), und wählen Sie sie aus.

  5. Ermitteln Sie im Dialogfeld „Startprofile“ den Namen des Standardprofils, wählen Sie es aus, und löschen Sie es.

  6. Benennen Sie das neue Profil in den Namen des Standardprofils um.

    Alternativ können Sie launchSettings.json manuell bearbeiten, um dasselbe Ergebnis zu erzielen. Sie möchten, dass das erste Profil in launchSettings.json dem Namen der Klassenbibliothek entspricht und in der Datei als Erstes aufgeführt wird.

Angeben einer aufrufenden App in einem verwalteten DLL-Projekt

  1. Wählen Sie im Projektmappen-Explorer das C#- oder Visual Basic-DLL-Projekt aus. Wählen Sie das Symbol Eigenschaften aus, und drücken Sie ALT+EINGABETASTE, oder klicken Sie mit der rechten Maustaste, und wählen Sie Eigenschaften aus.

  2. Stellen Sie sicher, dass das Feld Konfiguration am oberen Rand des Fensters auf Debuggen festgelegt ist.

  3. Legen Sie unter Startaktion Folgendes fest:

    • Wählen Sie für .NET Framework-DLLs die Option Externes Programm starten aus, und fügen Sie den vollqualifizierten Pfad und den Namen der aufrufenden App hinzu.

    • Oder wählen Sie Browser mit URL starten aus, und geben Sie die URL einer lokalen ASP.NET-App ein.

    • Bei .NET Core-DLLs in Visual Basic sieht die Eigenschaftenseite Debuggen anders aus. Wählen Sie im Dropdownmenü Start die Option Ausführbare Datei aus, und fügen Sie dann im Feld Ausführbare Datei den vollqualifizierten Pfad und den Namen der aufrufenden App hinzu.
    • Bei .NET Core-DLLs ist Eigenschaftenseite Debuggen anders. Wählen Sie im Dropdownmenü Start die Option Ausführbare Datei aus, und fügen Sie dann im Feld Ausführbare Datei den vollqualifizierten Pfad und den Namen der aufrufenden App hinzu.
  4. Fügen Sie im Feld Befehlszeilenargumente oder Anwendungsargumente alle erforderlichen Befehlszeilenargumente hinzu.

    C# Debug Properties window

  5. Verwenden Sie Datei>Ausgewählte Elemente speichern oder STRG+S, um die Änderungen zu speichern.

Debuggen über das DLL-Projekt

  1. Legen Sie Haltepunkte im DLL-Projekt fest.

  2. Klicken Sie mit der rechten Maustaste auf das DLL-Projekt, und wählen Sie Als Startprojekt festlegen aus.

  3. Stellen Sie sicher, dass das Feld Projektmappenkonfiguration auf Debuggen eingestellt ist. Drücken Sie F5, und klicken Sie auf den grünen Startpfeil, oder wählen Sie Debuggen>Debuggen starten aus.

Zusätzliche Tipps:

  • Wenn beim Debuggen die Haltepunkte nicht getroffen werden, stellen Sie sicher, dass die DLL-Ausgabe (standardmäßig der Ordner <project>\Debug) in den Speicherort erfolgt, den die aufrufende App aufruft.

  • Aktivieren Sie Debuggen im gemischten Modus, wenn Sie in den Code einer verwalteten aufrufenden App aus einer nativen DLL oder umgekehrt eindringen möchten.

  • In einigen Szenarien müssen Sie dem Debugger möglicherweise mitteilen, wo der Quellcode zu finden ist. Weitere Informationen finden Sie unter Verwenden der Seiten „Keine Symbole geladen/Keine Quelle geladen“. .