Megosztás a következőn keresztül:


Kódtérképek használata az alkalmazások hibakereséséhez

A Visual Studio kódtérképei segíthetnek elkerülni a nagy kódbázisokban, ismeretlen kódokban vagy régi kódokban való elveszést. Ha például hibakeresést végzett, előfordulhat, hogy számos fájlban és projektben meg kell vizsgálnia a kódot. Kódtérképek használatával navigálhat a kódrészletek között, és megértheti a köztük lévő kapcsolatokat. Így nem kell nyomon követnie ezt a kódot a fejében, és nem kell külön diagramot rajzolnia. Így ha a munka megszakad, a kódtérképek segítenek frissíteni a memóriát a kódról, amelyen dolgozik.

Kódtérkép – Kapcsolatok leképezése a kódban

Egy zöld nyíl jelzi, hogy hol jelenik meg a kurzor a szerkesztőben

A kódtérképek használatakor használható parancsok és műveletek részleteiért lásd: Kódtérképek tallózása és átrendezése.

További információ a Visual Studióban történő hibakeresésről a Hibakereső eszközzel.

Megjegyzés:

Kódtérképek létrehozásához és szerkesztéséhez Visual Studio Enterprise-kiadásra van szükség. A Visual Studio Community és Professional kiadásokban megnyithatja az Enterprise kiadásban létrehozott diagramokat, de nem szerkesztheti őket.

A probléma ismertetése

Tegyük fel, hogy hiba van egy rajzprogramban, amelyen éppen dolgozik. A hiba reprodukálásához nyissa meg a megoldást a Visual Studióban, és nyomja le az F5 billentyűt a hibakeresés megkezdéséhez.

Amikor rajzol egy vonalat, és az utolsó vonás visszavonása lehetőséget választja, semmi sem történik, amíg meg nem rajzolja a következő sort.

Kódtérkép – Repro hiba

Ezért a metódus keresésével kezdi meg a Undo vizsgálatot. Az PaintCanvas osztályban találja meg.

Kódtérkép – Kód keresése

A kód leképezésének megkezdése

Most kezdje el a undo metódus és annak kapcsolatai leképezését. A kódszerkesztőben hozzáadja a undo metódust és azokat a mezőket, amelyekre hivatkozik egy új kódtérképre. Amikor új térképet hoz létre, eltarthat egy ideig, amíg indexeli a kódot. Ez segít a későbbi műveletek gyorsabb futtatásában.

Kódtérkép – Metódus és kapcsolódó mezők megjelenítése

Jótanács

A zöld kiemelés a térképhez utoljára hozzáadott elemeket jeleníti meg. A zöld nyíl a kurzor pozícióját jeleníti meg a kódban. Az elemek közötti nyilak különböző kapcsolatokat jelölnek. A térképen lévő elemekről további információt az egérmutató mozgatásával és az elemleírások vizsgálatával kaphat.

Kódtérkép – Elemleírások megjelenítése

Az egyes mezők kóddefiníciójának megtekintéséhez kattintson duplán a térképen lévő mezőre, vagy jelölje ki a mezőt, és nyomja le az F12 billentyűt. A zöld nyíl a térkép elemei között mozog. A kurzor a kódszerkesztőben is automatikusan mozog.

Képernyőkép egy kódtérkép ablakáról, amelyen ki van jelölve az előzménymező, és egy kódszerkesztő ablak, amelyen az előzmények összes példánya ki van emelve.

Képernyőkép egy kódtérkép ablakáról, amelyen a paintObjects mező ki van jelölve, és egy kódszerkesztő ablak, ahol a paintObjects összes példánya ki van emelve.

Jótanács

A térkép zöld nyilat úgy is áthelyezheti, hogy a kurzort a kódszerkesztőben helyezi el.

A kódrészletek közötti kapcsolatok ismertetése

Most már szeretné tudni, hogy melyik másik kód lép kölcsönhatásba a history és a paintObjects mezőkkel. Hozzáadhatja az összes olyan metódust, amely ezekre a mezőkre hivatkozik a térképen. Ezt a térképen vagy a kódszerkesztőben teheti meg.

Kódtérkép – Az összes hivatkozás megkeresése

Kódtérkép megnyitása a kódszerkesztőből

Megjegyzés:

Ha olyan projektből ad hozzá elemeket, amelyek több alkalmazáson (például Windows Phone-on vagy Windows Áruházban) vannak megosztva, akkor ezek az elemek mindig az aktuálisan aktív alkalmazásprojekttel jelennek meg a térképen. Így ha a környezetet egy másik alkalmazásprojektre módosítja, akkor a térképen lévő környezet a megosztott projektből újonnan hozzáadott elemekre is módosul. A térképen lévő elemekkel végzett műveletek csak azokra az elemekre vonatkoznak, amelyek azonos kontextusban vannak.

Módosítsa az elrendezést a kapcsolatok folyamatának átrendezéséhez és a térkép könnyebb olvashatóságához. Az elemeket húzással is áthelyezheti a térképen.

Képernyőkép egy kódtérkép ablakáról, amelyen meg van nyitva az Elrendezés menü, és ki van jelölve a Balról Rgiht parancs.

Jótanács

Alapértelmezés szerint a növekményes elrendezés be van kapcsolva. Ez az új elemek hozzáadásakor a lehető legkisebb mértékben átrendezi a térképet. Ha minden új elem hozzáadásakor át szeretné rendezni a teljes térképet, kapcsolja ki a Növekményes elrendezést.

Képernyőkép egy kódtérkép ablakáról, amelyen a balról jobbra mutató mezők közötti kapcsolatok nyíl láthatóak.

Vizsgáljuk meg ezeket a módszereket. A térképen kattintson duplán a PaintCanvas metódusra, vagy válassza ki ezt a módszert, és nyomja le az F12 billentyűt. Megtudhatja, hogy ez a metódus a history és paintObjects üres listáként hozza létre.

Képernyőkép egy kódtérkép ablakáról, amelyen a PaintCanvas metódus van kiválasztva, és egy kódrészlet képe, amelyen a PainCanvas metódus neve van kiemelve.

Most ismételje meg ugyanazokat a lépéseket a clear metódusdefiníció vizsgálatához. Ön megtudja, hogy a clear feladatokat a paintObjects és history segítségével hajt végre. Ezután meghívja a metódust Repaint .

Képernyőkép egy kódtérkép ablakáról, amelyen ki van jelölve a Clear metódus, és egy kódrészlet képe, amelyen a Clear metódus kódja látható.

Most vizsgálja meg a metódusdefiníciót addPaintObject . Emellett bizonyos feladatokat is végrehajt a következővel history : és paintObjects. A(z) Repaint-t is meghívja.

Képernyőkép egy kódtérkép ablakáról, amelyen az addPaintObject metódus van kiválasztva, és egy kódrészlet képe, amelyen az addPaintObject metódus kódja látható.

A probléma megkeresése a térkép vizsgálatával

Úgy tűnik, hogy az összes metódus, amely módosítja history és paintObjects meghívja Repaint. Mégis, a undo metódus nem hívja meg Repaint-et, annak ellenére hogy a undo ugyanazokat a mezőket módosítja. Azt gondolja, hogy ezt a problémát megoldhatja úgy, hogy a Repaint-t hívja a undo-ből.

Kódtérkép – Hiányzó metódushívás megkeresése

Ha nem rendelkezik térképpel a hiányzó hívás megjelenítéséhez, előfordulhat, hogy nehezebb volt megtalálni ezt a problémát, különösen összetettebb kóddal.

A felderítés és a következő lépések megosztása

Mielőtt Ön vagy valaki más kijavítja ezt a hibát, jegyzeteket készíthet a térképen a problémáról és a probléma megoldásáról.

Kódtérkép – Megjegyzés és jelölőelemek a nyomon követéshez

Megjegyzéseket fűzhet például a térképhez, és színekkel jelölheti meg az elemeket.

Kódtérkép – Megjegyzésekkel és megjelölt elemekkel

Ha telepítve van a Microsoft Outlook, e-mailben elküldheti a térképet másoknak. A térképet képként vagy más formátumban is exportálhatja.

Kódtérkép – Megosztás, exportálás, levelezés

Javítsa ki a problémát, és mutassa meg, mit tett

A hiba kijavításához adja hozzá a Repaint hívást a undo-hez.

Kódtérkép – Hiányzó metódushívás hozzáadása

A javítás megerősítéséhez indítsa újra a hibakeresési munkamenetet, és próbálja meg reprodukálni a hibát. Most az Utolsó vonás visszavonása kiválasztása úgy működik, ahogy elvárja, és megerősíti, hogy a megfelelő javítást végezte.

Kódtérkép – Kódjavítás megerősítése

Frissítheti a térképet, hogy megjelenítse a javítást.

Kódtérkép – Térkép frissítése hiányzó metódushívással

A térkép most egy hivatkozást jelenít meg a visszavonás és az újrafestés között.

Kódtérkép – Frissített térkép metódushívással

Megjegyzés:

A térkép frissítésekor megjelenhet egy üzenet, amely szerint a térkép létrehozásához használt kódindex frissült. Ez azt jelenti, hogy valaki módosította a kódot, ami miatt a térkép nem felel meg az aktuális kódnak. Ez nem akadályozza meg a térkép frissítését, de előfordulhat, hogy újra létre kell hoznia a térképet annak ellenőrzéséhez, hogy megfelel-e a kódnak.

Most befejezte a nyomozást. A kód leképezésével sikeresen megtalálta és kijavította a problémát. Emellett van egy térképe, amely segít navigálni a kód körül, emlékezni a tanultakra, és megjeleníti a probléma megoldásához szükséges lépéseket.