Debugowanie z projektu DLL w programie Visual Studio (C#, C++, Visual Basic, F#)
Jednym ze sposobów debugowania projektu DLL jest określenie aplikacji wywołującej we właściwościach projektu DLL. Następnie możesz rozpocząć debugowanie z samego projektu DLL. Aby ta metoda działała, aplikacja musi wywołać tę samą bibliotekę DLL w tej samej lokalizacji co skonfigurowana. Jeśli aplikacja znajdzie i załaduje inną wersję biblioteki DLL, ta wersja nie będzie zawierać punktów przerwania. Aby uzyskać informacje o innych metodach debugowania bibliotek DLL, zobacz Debugowanie projektów DLL.
Jeśli aplikacja zarządzana wywołuje natywną bibliotekę DLL lub aplikacja natywna wywołuje zarządzaną bibliotekę DLL, możesz debugować zarówno bibliotekę DLL, jak i aplikację wywołującą. Aby uzyskać więcej informacji, zobacz Instrukcje: debugowanie w trybie mieszanym.
Projekty natywne i zarządzane biblioteki DLL mają różne ustawienia umożliwiające określenie wywoływanych aplikacji.
Określanie aplikacji wywołującej w natywnym projekcie DLL
Wybierz projekt DLL języka C++ w Eksplorator rozwiązań. Wybierz ikonę Właściwości, naciśnij klawisz Alt+Enter lub kliknij prawym przyciskiem myszy i wybierz polecenie Właściwości.
<W oknie dialogowym Strony właściwości projektu> upewnij się, że w górnej części okna ustawiono wartość Debuguj pole Konfiguracja.
Wybierz pozycję Debugowanie właściwości>konfiguracji.
Na liście Debuger do uruchomienia wybierz pozycję Lokalny debuger systemu Windows lub Zdalny debuger systemu Windows.
W polu Polecenie lub Zdalne polecenie dodaj w pełni kwalifikowaną ścieżkę i nazwę pliku aplikacji wywołującej, taką jak plik .exe .
Dodaj wszelkie niezbędne argumenty programu do pola Argumenty poleceń.
Wybierz przycisk OK.
Określanie aplikacji wywołującej w projekcie DLL języka C# (.NET Core, .NET 5+)
Wybierz projekt DLL języka C# lub Visual Basic w Eksplorator rozwiązań. Wybierz ikonę Właściwości, naciśnij klawisz Alt+Enter lub kliknij prawym przyciskiem myszy i wybierz polecenie Właściwości.
Na karcie Debugowanie wybierz pozycję Otwórz interfejs użytkownika profilów uruchamiania debugowania.
W oknie dialogowym Uruchamianie profilów wybierz ikonę Utwórz nowy profil , a następnie wybierz pozycję Wykonywalny.
W nowym profilu w obszarze Wykonywalny przejdź do lokalizacji pliku wykonywalnego (plik exe ) i wybierz go.
W oknie dialogowym Uruchamianie profilów zanotuj nazwę profilu domyślnego, a następnie wybierz go i usuń.
Zmień nazwę nowego profilu na taką samą nazwę jak profil domyślny.
Alternatywnie możesz ręcznie edytować plik launch Ustawienia.json, aby uzyskać ten sam wynik. Chcesz, aby pierwszy profil w pliku launch Ustawienia.json był zgodny z nazwą biblioteki klas i chcesz, aby został on wymieniony jako pierwszy w pliku.
Określanie aplikacji wywołującej w zarządzanym projekcie DLL
Wybierz projekt DLL języka C# lub Visual Basic w Eksplorator rozwiązań. Wybierz ikonę Właściwości, naciśnij klawisz Alt+Enter lub kliknij prawym przyciskiem myszy i wybierz polecenie Właściwości.
Upewnij się, że pole Konfiguracja w górnej części okna ma wartość Debuguj.
W obszarze Akcja Rozpocznij:
W przypadku bibliotek DLL programu .NET Framework wybierz pozycję Uruchom program zewnętrzny i dodaj w pełni kwalifikowaną ścieżkę i nazwę aplikacji wywołującej.
Możesz też wybrać pozycję Uruchom przeglądarkę z adresem URL i wypełnić adres URL lokalnej aplikacji ASP.NET.
- W przypadku bibliotek DLL platformy .NET Core w Visual Basic strona Właściwości debugowania jest inna. Wybierz pozycję Wykonywalny z listy rozwijanej Uruchamianie, a następnie dodaj w pełni kwalifikowaną ścieżkę i nazwę aplikacji wywołującej w polu Wykonywalny.
- W przypadku bibliotek DLL platformy .NET Core strona Właściwości debugowania jest inna. Wybierz pozycję Wykonywalny z listy rozwijanej Uruchamianie, a następnie dodaj w pełni kwalifikowaną ścieżkę i nazwę aplikacji wywołującej w polu Wykonywalny.
Dodaj wszelkie niezbędne argumenty wiersza polecenia w polu Argumenty wiersza polecenia lub Argumenty aplikacji.
Zapisz wybrane elementy za pomocą pliku>lub Ctrl+S, aby zapisać zmiany.
Debugowanie z projektu DLL
Ustaw punkty przerwania w projekcie DLL.
Kliknij prawym przyciskiem myszy projekt DLL i wybierz polecenie Ustaw jako projekt startowy.
Upewnij się, że pole Konfiguracja rozwiązań ma wartość Debuguj. Naciśnij klawisz F5, kliknij zieloną strzałkę Start lub wybierz pozycję Debuguj>rozpocznij debugowanie.
Dodatkowe podpowiedzi:
Jeśli debugowanie nie osiągnie punktów przerwania, upewnij się, <że dane wyjściowe biblioteki DLL (domyślnie folder project>\Debug ) to lokalizacja wywoływana przez aplikację wywołującą.
Jeśli chcesz podzielić kod w zarządzanej aplikacji wywołującej z natywnej biblioteki DLL lub na odwrót, włącz debugowanie w trybie mieszanym.
W niektórych scenariuszach może być konieczne powiedzenie debugerowi, gdzie można znaleźć kod źródłowy. Aby uzyskać więcej informacji, zobacz Use the No Symbols Loaded/No Source Loaded pages (Używanie stron bez załadowanych symboli/bez załadowanych źródeł).