Sdílet prostřednictvím


Ladění projektů knihovny DLL

Následující šablony vytvoří knihovny DLL:

  • Knihovna třídy (C++, C# a Visual Basic)

  • (C++, C# a Visual Basic): Knihovna ovládacích prvků formulářů Windows

    Ladění knihovny ovládacích prvků Windows je podobné ladění projektu knihovny tříd.Ve většině případů budete volat ovládací prvek systému Windows z jiného projektu.Při ladění volajícího projektu můžete vstoupit do kódu ovládacího prvku systému Windows, nastavit zarážky a provádět jiné operace ladění.Další informace naleznete v tématu Ovládací prvky modelu Windows Forms.

  • (C# a Visual Basic): Knihovna webových prvků

    Další informace naleznete v tématu Knihovna webových prvků (spravovaný kód).

  • (C++): Ovládací prvek ActiveX knihovny MFC a ovládací prvek ActiveX knihovny MFC Smart Device

    Ovládací prvky ActiveX jsou ovládací prvky, které lze stáhnout z Internetu do počítače klienta a které se zobrazí a aktivují na webových stránkách.

    Ladění ovládacích prvků ActiveX je podobné ladění jiných typů ovládacích prvků, protože nemůže být spuštěno samostatně, ale musí být vloženo na webové stránce HTML.Další informace naleznete v tématu Postupy: Ladění ovládacího prvku ActiveX.

  • (C++): MFC Smart Device DLL

    Další informace naleznete v tématu Techniky ladění MFC.

Tato část obsahuje informace o následujících tématech:

Toto téma obsahuje následující části, které poskytují důležité informace o přípravě k ladění knihoven tříd:

  • Sestavení ladicí verze

  • Kombinovaný režim ladění

  • Změna výchozí konfigurace

  • Způsoby ladění kódu knihovny DLL

  • Volající aplikace

  • Ovládací prvky webové stránky

  • Příkazové podokno

Sestavení ladicí verze

Bez ohledu na to, jak spouštíte ladění, nejprve sestavte ladicí verzi knihovny DLL a ujistěte se, že ladicí verze je na místě, kde ji aplikace očekává.Toto se může zdát zřejmé, ale pokud zapomenete tento krok, aplikace může najít jinou verzi knihovny DLL a načíst ji.Program bude pokračovat v běhu, zatímco se budete divit, proč nebylo vaší zarážky nikdy dosaženo.Při ladění můžete ověřit, které knihovny DLL váš program načetl, otevřením v okně ladicího programu Moduly.Okna Moduly uvádějí jednotlivé knihovny DLL nebo EXE načtené v procesu, který ladíte.Další informace naleznete v tématu Postupy: Použití okna Moduly.

Aby ladicí program připojil kód napsaný v jazyce C++, musí kód generovat DebuggableAttribute.Tuto hodnotu můžete automaticky přidat do kódu propojením s možností Linkeru /ASSEMBLYDEBUG.

Kombinovaný režim ladění

Volající aplikace, která volá vaši knihovnu DLL, může být napsána v spravovaném kódu nebo nativním kódu.Pokud je vaše spravovaná knihovna DLL volána pomocí nativního kódu a chcete obojí ladit, spravované i nativní ladicí programy musí být povoleny.Můžete je vybrat v dialogovém okně nebo okně <Project>Stránky vlastností.Postup závisí na tom, zda spustíte ladění z projektu knihovny DLL, nebo z projektu volání aplikace.Další informace naleznete v tématu Postupy: Ladění ve smíšeném režimu.

Změna výchozí konfigurace

Když vytvoříte projekt konzolové aplikace pomocí šablony projektu, Visual Studio automaticky vytvoří požadované nastavení konfigurace Debug a Release.V případě potřeby můžete tato nastavení změnit.Další informace naleznete v tématu Nastavení projektu pro konfiguraci ladění jazyka C++, Nastavení projektu pro konfiguraci ladění jazyka C#, Nastavení projektu pro konfiguraci ladění jazyka Visual Basic a Postupy: Nastavení konfigurace ladění a verzí.

Způsoby ladění kódu knihovny DLL

Všechny projekty v této části tvoří knihovnu DLL.Knihovnu DLL nelze spustit přímo; musí být volána aplikací, obvykle EXE.Další informace naleznete v tématu Tvorba a správa projektů v prostředí Visual C++.Volající aplikace mohou přizpůsobit některé z následujících kritérií:

  • Aplikace vytvořené v jiném projektu ve stejném řešení Visual Studio, které obsahuje knihovnu tříd.

  • Existující aplikace již nasazená v testovacím nebo produkčním počítači.

  • Nachází se na webu a přístup je prostřednictvím adresy URL.

  • Webové aplikace, které obsahují webovou stránku obsahující knihovnu DLL.

Ladění volající aplikace

Chcete-li ladit knihovnu DLL, začněte laděním volající aplikace, obvykle buď aplikace EXE nebo webová aplikace.Existuje několik způsobů, jak ho ladit.

  • Pokud máte projekt pro volající aplikaci, můžete otevřít tento projekt a spustit provádění z nabídky Ladění.Další informace naleznete v tématu <PAVEOVER>Postupy: Zahájení provádění.

  • Pokud je volající aplikace existující program již nasazený v testovacím nebo produkčním počítači a je již spuštěna, můžete připojovat k ní.Tuto metodu použijte, pokud je knihovna DLL kontrolovaně hostem aplikace Internet Explorer nebo ovládacího prvku na webové stránce.Další informace naleznete v tématu <PAVE OVER> Postupy: Připojení ke spuštěnému procesu.

  • Můžete ho ladit z projektu knihovny DLL.Další informace naleznete v tématu Postupy: Ladění z projektu knihovny DLL.

  • Můžete ho ladit z Visual Studio Příkazového podokna.V tomto případě okno Příkazy hraje roli aplikace.

Před zahájením ladění volající aplikace je obvyklé nastavit zarážku v knihovně tříd.Další informace naleznete v tématu Breakpoints and Tracepoints.Při dosažení zarážky můžete krokovat kód, sledovat akce na každém řádku, dokud problém neizolujete.Další informace naleznete v tématu <PAVEOVER> Přehled krokování kódu.

Ovládací prvky webové stránky

Chcete-li ladit ovládací prvek webové stránky, vytvořte stránku ASP.NET, která jej použije, pokud taková ještě stránka neexistuje.Pak umístěte zarážky v kódu webové stránky, jakož i kód ovládacího prvku.Poté vyvoláte webovou stránku z Visual Studio.

Před zahájením ladění volající aplikace je obvyklé nastavit zarážku v DLL.Při dosažení zarážky můžete krokovat kód, sledovat akce na každém řádku, dokud problém neizolujete.Další informace naleznete v tématu Breakpoints and Tracepoints.

Příkazové podokno

Bez nutnosti volání aplikace můžete vyhodnotit funkce nebo metody v knihovně DLL.Proveďte ladění v době návrhu a použijte okno Okamžité.Chcete-li ladit tímto způsobem, proveďte následující kroky při otevřeném projektu knihovny DLL:

  1. Otevřete okno ladicího programu Okamžité.

  2. Chcete-li otestovat metodu s názvem Test ve třídě Class1, vytvořte instanci objektu typu Class1 zadáním následujícího kód jazyka C# do okna Příkazy.Tento spravovaný kód funguje pro jazyk Visual Basic a C++ s příslušnými změnami syntaxe:

        Class1 obj = new Class1();
    

    V jazyce C# musí být všechny názvy plně kvalifikované.Jakékoli metody nebo proměnné musí být navíc v aktuálním měřítku a kontextu relace ladění.

  3. Za předpokladu, že Test má jeden parametr int, vyhodnoťte Test pomocí Příkazového podokna:

       ?obj.Test(10)
    

    Výsledek bude vytištěn v okně Okamžité.

  4. Můžete pokračovat v ladění Test umístěním zarážky dovnitř a opakovaným vyhodnocením funkce:

       ?obj.Test(10);
    

    Bude dosaženo zarážkou a budete moci krokovat skrze Test.Poté, co provádění opustí režim Test, ladicí program bude zpět v návrhovém režimu.

Viz také

Referenční dokumentace

Nastavení projektu pro konfiguraci ladění jazyka C++

Koncepty

Nastavení projektu pro konfiguraci ladění jazyka C#

Nastavení projektu pro konfiguraci ladění jazyka Visual Basic

Zabezpečení ladicího programu

Další zdroje

Ladění spravovaného kódu

Příprava ladění: typy projektů jazyka Visual C++

Příprava ladění: typy projektů jazyka C#, F# a Visual Basic