Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A DLL (dinamikus csatolású kódtár) olyan kódtár, amely több alkalmazás által használható kódot és adatokat tartalmaz. A Visual Studio használatával dll-eket hozhat létre, hozhat létre, konfigurálhat és hibakeresést végezhet.
DLL létrehozása
A következő Visual Studio-projektsablonok hozhatnak létre DLL-eket:
- Osztálykódtár (.NET, .NET-keretrendszer és egyéb alkalmazásplatformok)
- Windows Forms Vezérlőtár (.NET és .NET-keretrendszer)
- Dynamic-Link kódtár (DLL) (C++)
A Windows Forms vezérlőtár hibakeresése hasonló az osztálytárak hibakereséséhez. További információ: Windows Forms Controls.
Általában egy másik projektből hív meg egy DLL-t. Ha hibakeresést hajt végre a hívó projektben, a DLL-konfigurációtól függően beléphet a DLL-kódba, és hibakeresést végezhet.
DLL hibakeresési konfiguráció
Amikor Visual Studio-projektsablont használ egy alkalmazás létrehozásához, a Visual Studio automatikusan létrehozza a hibakeresési és kiadási buildkonfigurációkhoz szükséges beállításokat. Szükség esetén módosíthatja ezeket a beállításokat. További információkért lásd a következő cikkeket:
- Útmutató: Hibakeresési és kiadási konfigurációk beállítása
- C++ hibakeresési konfiguráció projektbeállításai
- A .NET C# hibakeresési konfigurációinak projektbeállításai
- A C#-hibakeresési konfigurációk projektbeállításai
- Visual Basic hibakeresési konfiguráció projektbeállításai
A C++ DebuggableAttribute beállítása
Ahhoz, hogy a hibakereső egy C++ DLL-hez legyen csatolva, a C++ kódnak ki kell bocsátania DebuggableAttribute.
Beállítás DebuggableAttribute:
Válassza ki a C++ DLL-projektet a Megoldáskezelőben , és válassza a Tulajdonságok ikont, vagy kattintson a jobb gombbal a projektre, és válassza a Tulajdonságok lehetőséget.
A Tulajdonságok panel Linker>hibakeresés csoportjában válassza az Igen (/ASSEMBLYDEBUG) lehetőséget a hibakeresési szerelvényhez.
További információ: /ASSEMBLYDEBUG.
C/C++ DLL-fájlhelyek beállítása
Külső DLL hibakereséséhez a hívó projektnek képesnek kell lennie megtalálni a DLL-t, annak .pdb fájlját és a DLL által igényelt egyéb fájlokat. Létrehozhat egy egyéni összeállítási feladatot, amellyel ezeket a fájlokat a <projektmappába\Hibakeresési kimeneti mappába> másolhatja, vagy manuálisan is átmásolhatja a fájlokat.
C/C++ projektek esetén a projekttulajdonságok lapjain beállíthatja a fejléc- és LIB-fájlhelyeket ahelyett, hogy a kimeneti mappába másolta őket.
C/C++ fejléc- és LIB-fájlhelyek beállítása:
Válassza ki a C/C++ DLL-projektet a Megoldáskezelőben , és válassza a Tulajdonságok ikont, vagy kattintson a jobb gombbal a projektre, és válassza a Tulajdonságok lehetőséget.
A Tulajdonságok panel tetején, a Konfiguráció csoportban válassza az Összes konfiguráció lehetőséget.
A C/C++>Általános>további belefoglalási könyvtárak csoportban adja meg a fejlécfájlokat tartalmazó mappát.
A Linker>Általános>további könyvtárak könyvtárai csoportban adja meg a LIB-fájlokat tartalmazó mappát.
A Linker>bemeneti>további függőségei csoportban adja meg a LIB-fájlok teljes elérési útját és fájlnevét.
Kattintson az OK gombra.
A C++ projektbeállításokról további információt a Windows C++ tulajdonságlapján talál.
Hibakeresési verzió létrehozása
A hibakeresés megkezdése előtt mindenképpen készítsen hibakeresési verziót a DLL-ről. A DLL hibakereséséhez a hívó alkalmazásnak képesnek kell lennie megtalálni a .pdb fájlját és a DLL által igényelt egyéb fájlokat. További információért lásd: Hogyan állítsuk be a hibakeresési és kiadási konfigurációkat.
Létrehozhat egy egyéni buildelési feladatot, amellyel a DLL-fájlokat átmásolhatja a <hívó projektmappába>\Hibakeresés kimeneti mappába, vagy manuálisan is másolhatja a fájlokat.
Ügyeljen arra, hogy a DLL-t a megfelelő helyen hívja meg. Ez nyilvánvalónak tűnhet, de ha egy hívó alkalmazás megkeresi és betölti a DLL egy másik példányát, a hibakereső soha nem éri el a beállított töréspontokat.
DLL hibakeresése
Közvetlenül nem futtathat DLL-t. Egy alkalmazásnak kell meghívnia, általában .exe fájl.
DLL hibakereséséhez elkezdheti a hibakeresést a hívó alkalmazásból, vagy hibakeresést a DLL-projektből a hívó alkalmazás megadásával. A hibakereső Azonnali ablakával is kiértékelheti a DLL-függvényeket vagy metódusokat a tervezéskor, hívó alkalmazás használata nélkül.
Hibakeresés indítása a hívó alkalmazásból
A DLL-t hívó alkalmazás a következő lehet:
- Egy Visual Studio-projektből származó alkalmazás ugyanabban vagy egy másik megoldásban, mint a DLL.
- Egy meglévő alkalmazás, amely már üzembe lett helyezve, és egy teszt- vagy éles számítógépen fut.
- A weben található és URL-címen keresztül érhető el.
- A DLL-t beágyazó weblapot tartalmazó webalkalmazás.
Mielőtt elkezdené a hívó alkalmazás hibakeresését, állítson be egy töréspontot a DLL-ben. Tekintse meg a töréspontok használatának első lépéseit. A DLL-töréspont elérésekor végiglépkedhet a kódon, és megfigyelheti a műveletet az egyes sorokban. További információ: Navigálás a hibakeresőben.
Ha dll-t szeretne hibakeresésre egy hívó alkalmazásból, a következőt teheti:
Nyissa meg a hívó alkalmazás projektét, és kezdje el a hibakeresést a Hibakeresés>indítása vagy az F5 billentyű lenyomásával.
vagy
Csatolja egy olyan alkalmazáshoz, amely már üzembe van helyezve, és egy teszt- vagy éles számítógépen fut. Ezt a módszert webhelyeken vagy webalkalmazásokban található DLL-ekhez használhatja. További információ : Útmutató: Csatolás futó folyamathoz.
A hibakeresés során a Modulok ablakban ellenőrizheti az alkalmazás által betöltött DLL-eket és .exe fájlokat. A Modulok ablak megnyitásához hibakeresés közben válassza aWindows-modulok>> lehetőséget. További információ : Útmutató: A Modulok ablak használata.
Az Azonnali ablak használata
Az Azonnali ablakban kiértékelheti a DLL-függvényeket vagy metódusokat a tervezéskor. Az Azonnali ablak egy hívó alkalmazás szerepét tölti be.
Megjegyzés:
A legtöbb projekttípushoz használhatja az Azonnali ablakot tervezéskor. SQL, webes projektek vagy szkriptek esetében nem támogatott.
Például egy Test osztályban lévő Class1 metódus teszteléséhez:
Ha meg van nyitva a DLL-projekt, nyissa meg az Azonnali ablakot a Hibakeresés>Windows>Azonnali menüpont kiválasztásával vagy a Ctrl+Alt+I billentyűkombináció lenyomásával.
Egy típusobjektum
Class1példányosításához írja be a következő C#-kódot az Azonnali ablakba, és nyomja le az Enter billentyűt. Ez a felügyelt kód a C# és a Visual Basic esetében működik a megfelelő szintaxismódosításokkal:Class1 obj = new Class1();A C#-ban minden névnek teljes mértékben minősítettnek kell lennie. A metódusoknak és változóknak az aktuális hatókörben és kontextusban kell lenniük, amikor a nyelvi szolgáltatás megpróbálja kiértékelni a kifejezést.
Feltételezve, hogy egy
Testparamétertintvesz igénybe, értékelje kiTestaz Azonnali ablak használatával:?obj.Test(10);Az eredmény az Azonnali ablakban jelenik meg.
A hibakeresés
Testfolytatásához helyezzen el benne egy töréspontot, majd értékelje újra a függvényt.A töréspontot a rendszer eléri, és végiglépkedhet rajta
Test. Miután a végrehajtás befejeződöttTest, a hibakereső újra tervező módban lesz.
Vegyes módú hibakeresés
A dll-hez tartozó hívóalkalmazást felügyelt vagy natív kódban is megírhatja. Ha a natív alkalmazás meghív egy felügyelt DLL-t, és mindkettőt szeretné hibakeresésre használni, engedélyezheti a felügyelt és a natív hibakeresőket is a projekttulajdonságokban. A pontos folyamat attól függ, hogy a DLL-projektből vagy a hívóalkalmazás-projektből szeretné-e elindítani a hibakeresést. A további információkért lásd: Hogyan: Hibakeresés vegyes módban.
A natív DLL hibakeresésre is használható egy felügyelt hívóprojektből. További információ: Felügyelt és natív kód hibakeresése.
Kapcsolódó tartalom
- Felügyelt kód hibakeresése
- Felkészülés c++ projektek hibakeresésére
- C#, F# és Visual Basic projekttípusok
- A C++ hibakeresési konfiguráció projektbeállításai
- A .NET C# hibakeresési konfigurációinak projektbeállításai
- A C# hibakeresési konfigurációk projektbeállításai
- Visual Basic Hibakeresési konfiguráció projektbeállításai
- Hibakereső biztonsági