Tipy pro použití WDEB386

Překlady článku Překlady článku
ID článku: 72379 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Ladicí program WDEB386 poskytované v Windows Software Development Kit (SDK) obsahuje mnoho funkcí neocenitelná; však má také číslo vyskytují chyby. Tento článek popisuje některé věci, WDEB386 může a nemůže provést a poskytuje několik tipů využití.

Další informace

Důvody pro použití WDEB386

Ladicí program WDEB386 byl původně napsán jako Microsoft vnitřní nástroj pro vývoj a ladění vrstvy rozšířeného režimu systému Windows. Jako takové zachová číslo rozšířené funkce, které jsou nezbytné k ladění multitasking chráněný režim systému. Současně může být nižší úrovně povahy tohoto ladění prostředí způsob a matoucí v mnoha situacích. Existuje však mnoho situací, kde je tento ladicí program zejména nebo dokonce zcela nezbytné, diagnostikovat problémy jako například:

  • Trasování prostřednictvím kód nižší úrovně není trasování CVW
  • Zobrazení virtuálních/lineární/fyzické paměti
  • Zobrazení upřesňujících 386 dat procesoru, například GDT –, tabulky LDT, PROCESOR a všechny PMODE registruje
  • Trasování obslužné rutiny přerušení hardwaru
  • Trasování terminate-and-stay-resident programy (TSR) nebo ovladače zařízení MS-DOS
  • Zobrazení stavu virtuální počítače (VMs)
  • Sledování všech přerušení a výjimek do rozšířeného režimu
  • Vývoj a ladění pro rozšířený režim virtuálního zařízení (ovladače VxD)
Toto není vyčerpávající seznam; však má sloužit ke znázornění některé situace, kde ladicí program WDEB386 mohou obvykle používat.

Rozdělení do Debugger při spuštění

Jednu možnost příkazového řádku, která není uvedena v kapitole 9 "Microsoft Windows Software Development Kit nástroje" Ruční je možnost /B. Určení /B na příkazovém řádku WDEB386 pokyn debugger zastavení provádění během spuštění systému Windows. Tato možnost nezaručuje, že bude ladicí program zastavení provádění velmi první spuštění instrukce. Ve skutečnosti ladicí program není zastavení provádění až po Windows načetl ovladače VxD, stačí před k inicializaci.

V hlavní rozdělení do Debugger

Při spuštění WDEB386 provádění aktuálního proudu instrukce můžete přerušena s kombinaci kláves CTRL + ALT + SYS RQ. Nebude zastaven provádění přesné umístění přerušení klávesnice; bude zastavení provádění v místě ve Správci virtual machine (produktem VMM). Žurnál obsah přerušené virtual machine můžete prověřena pomocí příkazu .VM (viz níže).

Zarážky lze také nastavit pomocí příkazu BP nebo s pokyny přerušení uspořádá do kód. Lze použít INT 1 nebo INT 3 instrukce. Rozdíl je, že bude vyrobit zpráva "neočekávaná trasování přerušení" a zastavit po the INT 1 instrukce 1 celá.část. Tato zpráva neznamená chybovou podmínku a mohou být ignorovány. INT 3 bude přerušit na celá.část a není vyrobit zprávu. Jakmile přístupů instrukce zarážky jej mohou být odstraněny trvale pomocí příkazu "Z". Tento příkaz nahradí jazyk počítače INT NOPs (ne operace).

Také Pokud je k dispozici potřebný hardware, nemaskovatelné přerušení (NMI) lze rozdělit ladicí program. To obvykle znamená nutnosti externí tlačítko "STOP" připojený ke kartě ladění nainstalován v patici vývojářského počítače. Některé počítače může mít schopnost připojování předního panelu tlačítko NMI řádku na sběrnici počítače. V každém případě použití NMI má výhod schopností rozdělit počítače má "neodpovídá" s přerušení zakázán.

Makro Debug_Out je pro programátory vývoj ovladačů virtuálního zařízení (ovladače VxD) dostupné kombinovat odesílání řetězec ASCII ladění terminálu a provádění 1 INT, které bude přerušit ladicí program.

Použití v režimu standardní WDEB386

Ladicí program WDEB386 poskytované hlavně pro rozšířený režim ladění; však lze jej také použít ve standardním režimu 386 procesoru. Obecně operace ladicí program WDEB386 ve standardním režimu je stejný jako do rozšířeného režimu s tím rozdílem, že číslo funkce jsou k dispozici zejména v Windows 3.0.

Například „ / b "možnost přerušit spuštění je k dispozici pouze v rozšířeného režimu Windows 3.0. Je k dispozici ve standardním režimu Windows 3.1. Mnoho příkazů "tečka" (příkazy s určitou předponou) jsou k dispozici pro rozšířeného režimu a nejsou k dispozici ve standardním režimu.

Určení stavu procesor

Po ovládací prvek má přidělena k ladicí program, prompt znak použitý poskytovat chráněný režim stav procesoru. Následující seznam zobrazuje, jaké znaky příkazového řádku může být zobrazen a význam každého:
    Character  Meaning
    ---------  -------

       >       The processor is in real mode
       #       The processor is in protected mode
       -       The processor is in virtual 8086 mode
				
režim je procesor v bude vhodné označení prováděný jaký kód. Například pokud je na řádku "-" (pomlčku) aktuálního proudu instrukce je někde v systému MS-DOS BIOS, případně v TSR nebo MS-DOS ovladač zařízení. Důvodem je, že vrstva rozšířeného režimu systému Windows musí procesoru přepnout do režimu V86 spuštění MS-DOS nebo BIOS funkcí. Pokud je na řádku "#" (symbol čísla), je také spuštěn kód chráněný režim--která by mohla být aplikace se systémem Windows, DLL nebo dokonce rozšířeného režimu vrstvy--.

Jedním z nejdůležitějších aspektů "znalost toho, co je spuštěna" při použití WDEB386 části Windows do rozšířeného režimu je některé povědomí o WIN386.EXE. Tento modul se skládá z produktem VMM (správce virtual machine) a všechny ovladače VxD (virtuální zařízení). Tyto součásti jsou často souhrnně označovány jako vrstva rozšířeného režimu"," "zazvonění nula kód" nebo právě "WIN386." V části Windows 3.0 a 3.1 a Windows for Workgroups verze 3.0 a 3.1 3.11, pokud výzva ladicí program je "#" a hodnota registr CS je 0028h, znamená to, že počítač je zastaveno v WIN386.

Zastavení WIN386 může nebo nemusí být žádoucí. Schopnost WDEB386 zastavit WIN386 například umožňuje vývojářům VxD krokování prostřednictvím dotyčný VxD. Aplikace nebo pomocí WDEB386 z důvodu jeho "chráněné povědomí o režimu" programátor ovladač zařízení však může mít zájem činnosti WIN386. Rozpoznání systémové součásti spojené s aktuální datový proud provádění v každém případě je rozhodující krok v WDEB386 použití efektivně.

Pomocí příkazy tečkou

O použití WDEB386 součást většina zajímavé (a matoucí) pravděpodobně týká "tečka" příkazy, které jsou příkazy předcházet období. Jednou z příčin nejasnostem je, že není nainstalována ladicí verze WIN386.EXE většinu příkazů tečka jsou k dispozici. Například pokud se zobrazí následující zpráva, spuštěn systém Windows do rozšířeného režimu
Není načten Win386 ladění není verze nebo neodpovídá
Nejpravděpodobnější znamená, že je nainstalována maloobchodní verze WIN386.EXE. Další informace o instalaci ladicí verze WIN386 dotazu slova:
prod(winddk) a wdeb386
Tato zpráva se navíc vždy zobrazí Pokud WDEB386 je používán při Windows je ve standardním režimu.

Příkazy výpis tečka

Koncepčně jsou příkazy tečka "externího" příkazy nebo příkazy, které pracují v datových struktur a operace konkrétní prostředí Windows. Například příkaz "D" (výpis) zobrazí umístění paměti očekávaným by být z ladicího programu, ale příkaz ".DG" zobrazí informace o globální haldy Windows mnohem stejným způsobem jako aplikace HEAPWALK.

Většinu příkazů .dx nevyžadují ladicí verze WIN386.EXE a jsou také k dispozici pod standardním režimu. Zbývající příkazy popsané v tomto článku vyžadují ladicí verze systému WIN386.EXE a rozšířené operace režimu. Jakmile vše je nainstalován správně, „.? "příkaz nápovědy by měl poskytnout online Stručná referenční příkazy tečka.

Má být provedeno jeden důležité rozdílu je rozdíl mezi příkazy ".DS" a "K". Příkaz "K" bude provedl zásobníku Windows jako ladicí program je zastaven v systému aplikace nebo kód dynamické knihovny (DLL). Však Pokud ladicí program trasování prostřednictvím kódu WIN386, příkaz "K" není ohlásí jakýkoli výstup užitečné. Z tohoto důvodu příkaz ".DS" byla poskytla zobrazit zásobník WIN386. Toto je demonstrační jiného důležitosti "znalost co systémem" jako uvedené dříve v tomto článku.

Příkazy VM tečka

WDEB386 byla původně navržena k ladění vrstvy rozšířeného režimu systému Windows; proto může být situace, ve kterém je zastavena ladicí program uprostřed WIN386. Například pokud provádění je přerušena pomocí RQ CTRL + ALT + SYS, počítač nebude zastaven okamžitě úrovni instrukce, která byla spuštěna, ale spíše na zarážky v kódu WIN386. Tedy Obecné Registry obvykle neobsahují nic, které budou všechny použití vývojář pokusu ladit ovladače nebo aplikace.

Operační stav aktuální virtuálního počítače však mohou být zobrazeny pomocí příkazů .vx. ".VM" bude například zobrazit stav příznaků, registrovat obsah, aktuální instrukce a část zásobníku aktuální VM. Zadáním příkazu ".VL" vyrobit seznam všech VMs v systému. Tyto příkazy lze použít k získání přehledu o aplikace, DLL, MS-DOS či BIOS stav provádění jako protiklad k stavu WIN386.

Příkazy paměti tečka

Příkazy .Mx zobrazit upřesňující informace na stavu paměti. Mnoho funkcí vytisknout vnitřní WIN386 informace ve formátu čitelnější. Dva příkazy jsou okamžitě užitečné jsou ".ML" a ".MP". Tyto příkazy převést adresy z lineární na fyzické a naopak.

Příkazy trasování tečka

Příkazy ".T" a ".S" poskytují pro udržování přerušení trasovací informace. Trasovací položky popisují, jaký přerušení mít došlo, adresu VM bloku a adresu přerušené instrukce. Tyto příkazy mohou být velmi užitečné v sledování dolů potížím (chyby) není vyrobit okamžité příznaky.

Příkazy zařízení tečka

WIN386 a WDEB386 poskytují možnost jednotlivé VxD zobrazení informací o vlastní operačního stavu. Obecně uživatel může požadovat tento ladicí informace z VxD zadáním .název řádku WDEB386 kde "název" je název VxD. Zadáním .VDMAD vytváří informace o stavu virtuálního zařízení DMA.

Vydávání příkaz zařízení tečka způsobí produktem VMM odeslat zprávu "Debug_Query" VxD. VxD není třeba podnikat odpověď na tuto zprávu a ve skutečnosti mnoho ovladače VxD není vyrobit jakýkoli výstup ladění. Obecně výstup ovladače VxD vyrobena tímto způsobem není popsána a je k dispozici pouze jako prostředek pro ladění dotyčný VxD. Vývojáři VxD chtít využít tento mechanismus zobrazit důležité datových struktur, které definují stav virtuální zařízení.

Souhrn příkazů tečka

Tečka příkazy jsou shrnuty v 9.6 oddíl (stránka 9-48) příručky "Microsoft Windows Software Development Kit nástroje". Je k dispozici s obrazovky online rychlý odkaz „.? "příkazu.

Poznámka: Číslo příkazů tečka nejsou popsány v příručce nástroje SDK. Například popsané formát příkazu tečka zařízení, ale není uvedena aktuální výstup vyrobeno konkrétní virtuální zařízení. Existuje několik důvodů pro tento:

  • Výstupní příkazy tečka vyrobena obvykle není zaznamenána WDEB386 ladicí program, ale spíše pomocí součásti WIN386. Tyto součásti jsou revidován a dynamicky než ladicí program aktualizovány a proto je pravděpodobné změnit informace vyrobeno tyto součásti.
  • Výstup je často velmi specifické informace o samotném VxD a nebyla normálně by užitečné v typické situaci ladění.

Vlastnosti

ID článku: 72379 - Poslední aktualizace: 22. července 2004 - Revize: 1.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows Device Development Kit (DDK) for Windows 3.0
  • Microsoft Windows Device Development Kit (DDK) for Windows 3.1
Klíčová slova: 
kbmt KB72379 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:72379
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com