CodeView - CodeView
Původní autoři | David Norris |
---|---|
Vývojáři | Microsoft |
První vydání | 1985 |
Operační systém | MS-DOS |
Plošina | x86 |
Typ | Debugger |
CodeView je samostatný debugger vytvořil David Norris na Microsoft v roce 1985 jako součást své vývojové sady nástrojů.[1] Původně byl dodáván s Microsoft C 4.0 a novějšími. Také se dodávalo s Visual Basic pro MS-DOS, Microsoft BASIC PDS a řada dalších jazykových produktů společnosti Microsoft.[2] Byl to jeden z prvních debuggerů na DOS platforma, která byla spíše orientovaná na celou obrazovku než na linku (jako předchůdci společnosti Microsoft LADIT a SYMDEB nebo Digitální výzkum je SID ).
Přehled
Při spuštění CodeView nabízí uživateli několik Okna které lze obkládat, přesouvat, dimenzovat a jinak s nimi manipulovat pomocí klávesnice nebo myši, přičemž CodeView 4.x poskytuje bohatší rozhraní. Některá okna zahrnují:
- Okno kódu - okno kódu ukazovalo aktuálně odladěný kód v jeho zdrojový kód kontext.
- Datové okno - a hexadecimální výpis uživatelem zadané oblasti paměti.
- Okno kukátka - kontextové zobrazení proměnných podle názvu.
- Okno Locals - kontextové zobrazení proměnných lokálních pro aktuální funkci.
- Okno příkazů - zde lze zadat uživatelské příkazy (používající stejnou nebo podobnou syntaxi jako DEBUG a SYMDEB).
- Okno sestavy - byla zobrazena sestava (strojový kód), která umožňuje jednostupňové procházení funkcí.
- Registrační okno - pro vizualizaci 80x86 registrovat obsah, včetně segmentů, vlajek a FPU (CodeView existoval dříve MMX a další SIMD rozšíření).
- Výstupní okno - okno zobrazující spouštěcí operace a ladicí informace týkající se zarážek,[2] hardwarové přestávky (přerušení 0 a 3) atd.
Funkce
- Režim 386 - procesory 8086, 80286 a 80386 a novější. Rozšířený režim 386 se aktivuje pomocí možnosti nabídky, která umožňuje 32bitové registry a demontáž.
- Podpora monochromatického monitoru - umožňuje ladění buď na jednom barevném (CGA, EGA nebo VGA) monitoru s přepínáním stránek / paměti mezi uživatelskou aplikací a obrazovkou CodeView, nebo pomocí samostatného černobílého monitoru. Monochromatický monitor existuje v adresním prostoru paměti 0xb0000, zatímco barevný monitor existuje na 0xb8000 pro text a 0xa0000 pro grafiku. Použití černobílého monitoru s jeho samostatným adresovým prostorem v paměti umožňuje ladění grafických aplikací bez ovlivnění displeje, stejně jako všech textových režimů. Monochromatické monitory jsou omezeny na 25 řádků, zatímco barevné monitory umožňují režim 25, 43 nebo 50 řádků, což umožňuje více informací na obrazovce najednou.
Vytvoření symbolického ladicího výstupu, který umožňuje zobrazit paměťová místa podle názvu přiřazeného programátorovi, spolu s databází programu zobrazující řádek zdrojového kódu související s každou instrukcí počítače v binárním spustitelném souboru, je povolen přepínačem příkazového řádku -Zi danému překladač a -CO dané linkeru. Varianty jako -Zs a -Zd poskytují méně informací a menší výstupní soubory, které byly na počátku 90. let důležité kvůli omezeným prostředkům stroje, jako je paměť a kapacita pevného disku. Mnoho systémů v té době mělo 8 MB paměti nebo méně.
CodeView zpracovává všechny modely programů, včetně TINY, SMALL, COMPACT, MEDIUM, LARGE a HUGE, přičemž TINY (soubory .COM založené na DOSu) mají své symbolické debuggerové informace uložené v samostatném souboru se všemi ostatními formáty .EXE obsahujícími symbolické informace přímo uvnitř spustitelného souboru. To často představovalo pozoruhodné zvětšení velikosti, a proto se stalo žádoucí, aby někteří vývojáři používali přepínače #pragma v rámci svého zdrojového kódu C (a později C ++), aby zabránili tomu, aby většina aplikací měla symbolický výstup, a místo toho omezila tento výstup pouze na ty části, které to vyžadovaly pro aktuální ladění.
CodeView verze 3.xa 4.x zavedly různé transportní vrstvy, které u této formy symbolického ladění odstranily některá omezení paměťového prostoru. Debugger obvykle běží v nižším 640KB paměťovém prostoru vedle laděné aplikace, což výrazně snižuje množství paměti dostupné pro laděnou aplikaci. Transportní vrstva umožňuje existenci pouze útržku v hlavní paměti, zatímco většina kódu debuggeru je umístěna v EMS nebo XMS (paměť nad bariérou 1 MB nebo mimo normální adresní prostor 0 kB - 640 KB, který obvykle používají programy DOS. ). CodeView také přišel s nástrojem příkazového řádku CVPACK, který může interně zmenšit velikost informací generovaných CodeView a přitom si zachovat plný symbolický přístup k datům.
Podpora Visual C ++
Microsoft vydal Visual C ++ 1.0 s funkcí CodeView integrovanou přímo do jediného programovacího prostředí, známého jako Integrované vývojové prostředí (IDE) - ačkoli CodeView byl stále k dispozici v 16bitových verzích Visual C ++. QuickC a řada dalších vývojových nástrojů v řadě „Quick“ také podporovala tento přechod na jednozdrojové IDE, což se stalo předchůdcem moderního vývojového prostředí Visual Studio, stejně jako model nespočetných dalších vývojových nástrojů.
Tuto integraci vidělo mnoho vývojářů jako přirozenější způsob vývoje softwaru, protože jak kódování, tak ladění bylo možné zvládnout bez přepínání programů nebo kontextu, a to vše ze stejného logického umístění (i když interně běželo mnoho samostatných programů na podporu úprav, kompilace a ladění). Výsledkem je, že většina vývojových nástrojů a / nebo platforem nabízí podobné produkty nebo funkce.
Dnes je debugger považován za integrovanou a nezbytnou součást Microsoft Visual Studio rodiny produktů a za své skutečné kořeny vděčí CodeView a vylepšením konkrétně ve verzi 4.x.
Symdeb
Další ladicí produkt dostupný od společnosti Microsoft v polovině 80. let byl SYMDEB.[3]
Měl přes 30 příkazů a byl popsán PC Magazine jako krok od DEBUG.[4] Codeview byl zase popsán jako „celoobrazovkový SYMDEB“.[5][6]
Viz také
Reference
- ^ „CodeView 3.x“. WinWorld.
- ^ A b Microsoft Macro Assembler 5.1 - Microsoft CodeView a nástroje. společnost Microsoft. 1987. s. 157. Dokument č. 4108-40010-500-R03-1287.
- ^ Par, Jeff (2018-02-25). „Krátká historie SYMDEB“. PCjs stroje. Citováno 2019-05-19.
- ^ „SYMDEB: Krok od ladění“. PC svět. 14. 10. 1986. str. 296.
- ^ "SYMDEB". PC Magazine. Sv. 5 č. 17. Ziff Davis, Inc. 1986-09-30. str. 38. ISSN 0888-8507.
- ^ „Byla přidána dokumentace MS C 4.0“. OS2museum.com.
Další čtení
- Petzold, Charles (1990). Programování Windows: Průvodce Microsoftem pro psaní aplikací pro Windows 3.
- Uživatelská příručka CodeView Debugger. společnost Microsoft. 1993.