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:
Otevřete okno ladicího programu Okamžité.
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í.
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é.
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