Udostępnij za pośrednictwem


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. Takie podejście umożliwia rozpoczęcie debugowania 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 zawiera punktów przerwania. Aby zapoznać się z innymi metodami 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.

Natywne i zarządzane projekty DLL mają różne ustawienia określające aplikacje wywołujące.

Określanie aplikacji wywołującej w natywnym projekcie DLL

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt DLL języka C++ i wybierz polecenie Właściwości (Alt+Enter).

  2. W oknie dialogowym <Strony właściwości projektu> ustaw pole Konfiguracja u góry na Debugowanie.

  3. Wybierz pozycję Debugowanie właściwości>konfiguracji.

  4. Rozwiń listę Debuger do uruchomienia i wybierz pozycję Lokalny debuger systemu Windows lub Zdalny debuger systemu Windows.

  5. W polu Polecenie lub Polecenie zdalne dodaj w pełni kwalifikowaną ścieżkę i nazwę pliku aplikacji wywołującej, na przykład plik .exe .

    Zrzut ekranu przedstawiający okno Właściwości debugowania w programie Visual Studio przedstawiający wartość polecenia.

  6. Dodaj wszystkie niezbędne argumenty programu w polu Argumenty polecenia .

  7. Kliknij przycisk OK.

Określanie aplikacji wywołującej w zarządzanym projekcie DLL (.NET Core, .NET 5+)

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt DLL języka C# lub Visual Basic i wybierz polecenie Właściwości (Alt+Enter).

  2. Na karcie Debugowanie wybierz pozycję Otwórz interfejs użytkownika profilów uruchamiania debugowania.

  3. W oknie dialogowym Uruchamianie profilów wybierz ikonę Utwórz nowy profil , a następnie wybierz pozycję Plik wykonywalny.

    Zrzut ekranu przedstawiający interfejs użytkownika w celu utworzenia nowego profilu debugowania w programie Visual Studio 2022.

  4. W nowym profilu w obszarze Plik wykonywalny przejdź do lokalizacji pliku wykonywalnego (.exe pliku) i wybierz go.

  5. W oknie dialogowym Uruchamianie profilów zanotuj nazwę profilu domyślnego, a następnie wybierz profil i usuń go.

  6. Zmień nazwę nowego profilu na taką samą jak profil domyślny.

    Alternatywnym podejściem jest ręczna edycja pliku launchSettings.json . Chcesz, aby pierwszy profil w pliku launchSettings.json był zgodny z nazwą biblioteki klas i chcesz, aby profil był wymieniony jako pierwszy w pliku.

Określanie aplikacji wywołującej w zarządzanym projekcie DLL (.NET Framework)

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt DLL języka C# lub Visual Basic i wybierz polecenie Właściwości (Alt+Enter).

  2. Ustaw pole Konfiguracja u góry na Debugowanie.

  3. W obszarze Akcja Start:

    • W przypadku bibliotek DLL .NET Framework wybierz pozycję Uruchom program zewnętrzny, a następnie 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 wprowadzić adres URL lokalnej aplikacji ASP.NET.

    • W przypadku bibliotek DLL platformy .NET Core w Visual Basic strona Właściwości debugowania jest inna. Rozwiń listę rozwijaną Uruchom i wybierz pozycję Plik wykonywalny, a następnie dodaj w pełni kwalifikowaną ścieżkę i nazwę aplikacji wywołującej w polu Plik wykonywalny .
    • W przypadku bibliotek DLL platformy .NET Core strona Właściwości debugowania jest inna. Rozwiń listę rozwijaną Uruchom i wybierz pozycję Plik wykonywalny, a następnie dodaj w pełni kwalifikowaną ścieżkę i nazwę aplikacji wywołującej w polu Plik wykonywalny .
  4. Dodaj wszystkie niezbędne argumenty wiersza polecenia w polu Argumenty wiersza polecenia lub Argumenty aplikacji .

    Zrzut ekranu przedstawiający okno Właściwości debugowania języka C# w programie Visual Studio.

  5. Aby zapisać zmiany, wybierz opcję Zapisz>plik wybranych elementów (Ctrl+S).

Debugowanie z projektu DLL

  1. Ustawianie punktów przerwania w projekcie DLL.

  2. Kliknij prawym przyciskiem myszy projekt DLL i wybierz polecenie Ustaw jako projekt startowy.

  3. Ustaw pole Konfiguracja rozwiązań u góry na wartość Debuguj. Wybierz F5 , a następnie wybierz zieloną strzałkę Start lub wybierz pozycję Debuguj>Rozpocznij debugowanie.

Wskazówka

  • Jeśli debugowanie nie osiągnie punktów przerwania, upewnij się, że dane wyjściowe biblioteki DLL (domyślnie <folder project>\Debug ) są docelową lokalizacją wywołania dla aplikacji wywołującej.

  • Jeśli chcesz włamać się do kodu w aplikacji do połączeń zarządzanych z natywnej biblioteki DLL lub na odwrót, włącz debugowanie w trybie mieszanym.

  • W niektórych scenariuszach może być konieczne poinstruowanie debugera, gdzie znaleźć kod źródłowy. Aby uzyskać więcej informacji, zobacz Korzystanie ze stron Brak załadowanych symboli/Brak załadowanego źródła.