Sdílet prostřednictvím


Okno Registrace v sadě Visual Studio (C#, C++, Visual Basic, F#)

Okno Registry je k dispozici pouze v případě, že je v dialogovém okně Možnosti v uzlu Ladění povoleno ladění na úrovni adresy.

Registry jsou speciální umístění v procesoru (CPU), které slouží k ukládání malých částí dat, na kterých procesor aktivně pracuje. Kompilace nebo interpretace zdrojového kódu vygeneruje pokyny, které podle potřeby přesunují data z paměti do registrů a zpět. Přístup k datům v registrech je velmi rychlý v porovnání s přístupem k datům v paměti, takže kód, který procesoru umožňuje uchovávat data v registru a opakovaně k němu přistupovat, je rychlejší než kód, který vyžaduje, aby procesor neustále načítal a odčítá registry. Pokud chcete kompilátoru usnadnit uchovávání dat v registrech a provádět další optimalizace, měli byste se vyhnout používání globálních proměnných a spoléhat se na místní proměnné co nejvíce. Kód napsaný tímto způsobem je řečeno, že má dobrou lokalitu odkazu. V některýchch kódech může deklarovat v některých jazycích, jako je C/C++, může programátor deklarovat proměnnou, která kompilátoru doporučuje, aby se snažila udržet proměnnou v registru vždy. Další informace naleznete v tématu Registrovat klíčové slovo.

Registry lze rozdělit do dvou typů: obecné účely a speciální účel. Pro obecné účely registruje data pro obecné operace, jako je třeba sčítání dvou čísel nebo odkazování na prvek v poli. Speciální registry mají specifické účely a specializovaný význam. Dobrým příkladem je registr ukazatele zásobníku, který procesor používá ke sledování zásobníku volání programu. Jako programátor pravděpodobně nebudete manipulovat s ukazatelem zásobníku přímo. Je však nezbytné, aby správně fungoval program, protože bez ukazatele zásobníku by procesor nevěděl, kam se vrátit na konci volání funkce.

Většina registrů pro obecné účely uchovává pouze jeden datový prvek. Například jedno celé číslo, číslo s plovoucí desetinou čárkou nebo prvek pole. Některé novější procesory mají větší registry, označované jako vektorové registry, které mohou obsahovat malou řadu dat. Protože uchovávají tolik dat, vektorové registry umožňují velmi rychle provádět operace zahrnující pole. Vektorové registry se poprvé používaly na drahých superpočítačích s vysokým výkonem, ale nyní jsou k dispozici na mikroprocesorech, kde se používají k velkým výhodám v náročných grafických operacích.

Procesor má obvykle dvě sady registrů pro obecné účely, jednu optimalizovanou pro operace s plovoucí desetinou čárkou a druhou pro celočíselné operace. Není divu, že se označují jako čísla s plovoucí desetinou čárkou a celočíselné registry.

Spravovaný kód je zkompilován za běhu do nativního kódu, který přistupuje k fyzickým registrům mikroprocesoru. V okně Registry se zobrazí tyto fyzické registry pro modul CLR (Common Language Runtime) nebo nativní kód. Okno Registry nezobrazuje informace o registraci pro skript nebo aplikaci SQL, protože skript a SQL jsou jazyky, které nepodporují koncept registrů.

Další informace o zobrazení okna Registry naleznete v části Použití okna Registry.

Když se podíváte na okno Registry , zobrazí se položky, jako EAX = 003110D8je .

Symbol vlevo od = znaménka je název registru, EAXv tomto případě. Číslo napravo od = znaménka představuje obsah registru.

Okno Registry umožňuje provádět více než jen zobrazení obsahu registru. Pokud jste v režimu přerušení v nativním kódu, můžete kliknout na obsah registru a upravit hodnotu. To není něco, co byste měli dělat náhodně. Pokud nepochopíte registr, který upravujete, a data, která obsahuje, bude výsledkem neopatrných úprav pravděpodobně chyba programu nebo nějaký jiný nežádoucí výsledek. Podrobné vysvětlení sad registrů různých procesorů kompatibilních s Intelem a Intel bohužel přesahuje rozsah tohoto stručného úvodu.

Registrace skupin

Aby se snížila nepotřebnost, okno Registry uspořádá registry do skupin. Pokud kliknete pravým tlačítkem myši na okno Registry , zobrazí se místní nabídka obsahující seznam skupin, které můžete zobrazit nebo skrýt podle potřeby.

Registrace příznaků

U procesorů Intel x86 se v okně Registry můžou zobrazit následující příznaky. Během ladicí relace můžete tyto příznaky také upravit.

Příznak Nastavit hodnotu
Přetečení OV = 1
Směr UP = 1
Přerušení EI = 1
Podepsat PL = 1
Nula ZR = 1
Pomocné přenosy AC = 1
Parita PE = 1
Carry CY = 1