WDEB386 kullanma hakkında ipuçları

Makale çevirileri Makale çevirileri
Makale numarası: 72379 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Windows Software Development Kit'e (SDK) sağlanan WDEB386 hata ayıklayıcısını yard?mlar? olan pek çok özellik vardır; ancak, bir dizi eksikliklerinin de vardır. Bu makalede, bazı şeyleri WDEB386 olabilir ve yapamazsınız ve birkaç kullanımı hakkında ipuçları sağlar, açıklanır.

Daha fazla bilgi

WDEB386 kullanma nedenleri

WDEB386 hata ayıklayıcısını ilk geliştirmek ve Gelişmiş Mod katmanı, Windows'un hata ayıklamak için Microsoft iç aracı olarak yazılmıştır. Örneğin, bir çok görevli, korumalı mod sistem hata ayıklama için gerekli olan gelişmiş özelliklerle çok sayıda korur. Aynı zamanda, bu hata ayıklama ortamı düşük düzeyli yapısı gereği, kaba ve birçok durum karışıklığa neden olabilir. Ancak, bu hata özellikle kullanışlı veya hatta tümüyle, aşağıdaki gibi sorunları tanılamak için gerekli olduğu birçok durum vardır:

  • CVW değil izleme alt düzey kodu ile izleme
  • Sanal/doğrusal/fiziksel bellek görüntüleme
  • 386 Işlemci veri GDT gibi gelişmiş görüntüleme LDT IDT ve tüm PMODE kaydeder
  • Donanım kesme işleyicisini izleme
  • MS-DOS aygıt sürücüsü veya Sonlandır-ve-bellekte kal (TSR) programları izleme
  • (VMs) sanal makineleri durumunu görüntüleme
  • Tüm kesme ve özel durumlar gelişmiş modda izleme
  • Geliştirme ve gelişmiş mod için sanal aygıtı (VxD) hata ayıklama
Bu kapsamlı bir listesi değildir; ancak, bazı WDEB386 hata ayıklayıcısını genellikle kullanılabilir durumda göstermek için kullanılmalıdır.

Hata ayıklayıcısını başlatma üzerinde içine kesiliyor

'Microsoft Windows Software Development Kit Tools"Kılavuzu, Bölüm 9'belirtilmeyen bir komut satırı seçeneği /B seçeneğidir. /B WDEB386 komut satırında belirterek, Windows Başlangıç sırasında yürütme durdurmak için hata ayıklayıcısını bildirir. Bu seçenek, hata ayıklayıcıyı çalıştırmak ilk yönergenin yürütülmesine durdurmak olduğunu garanti etmez. Windows yalnızca başlatma öncesinde vxd, yüklendikten sonra hata ayıklayıcısını yürütme kadar durdurmak değil.

Genel olarak ayıklayıcıya kesiliyor

WDEB386 çalışırken, bu yönerge akışı geçerli yürütme CTRL + ALT + SYS RQ anahtar birlikte durdurulacak. Klavye kesme kesin bir konuma yürütme durdurmaz; sanal makine yöneticisi (VMM) bir konuma yürütme durdurma. (Aşağıya bakın) <a0>.VM komutu kullanılarak kesilmiş sanal makine kayıt içeriğini inceledi.

Alternatif olarak, kesme noktaları BP</a0> komutunu kullanarak veya doğrudan kodu derlenip kesme yönergeleri ayarlanabilir. Bir <a1>TAMSAYı</a1> 1 veya INT 3 yönergesi kullanılır. Bir TAMSAYı 1 "beklenmeyen izleme kesme" iletisine neden ve yönerge INT SONRA 1 durdurma farktır. Bu iletinin bir hata koşulu belirtmek ve yoksayılabilir. Bir TAMSAYı 3 doğrudan üzerinde INT kesmek ve iletinin üretir. Bir kesme noktası yönergesi isabet sonra kalıcı olarak "Z" komutuyla kaldırılabilir. Bu komut, TAMSAYı makine dili NOPs (işlem No)</a0> ile değiştirir.

Gerekli donanım varsa, ayrıca nonmaskable kesme (NMI) ayıklayıcıya ayırmak için kullanılır. Bu, genellikle bir yuvaya geliştirme makine hata ayıklama bir kartı bağlı dış bir "Dur" düğmesi olması anlamına gelir. Bazı makineler, makine veri yolu NMI satırda bir ön panosu düğmesi bağlanma yeteneği olabilir. Her durumda NMI kullanarak "devre dışı kesme ile askıda" bir makine halinde ayırmak için avantajı vardır.

Sanal aygıt sürücüleri (VxD) geliştirme programcıları Debug_Out makro bir ASCII dizesi için hata ayıklama terminal göndermek ve bir TAMSAYı için hata ayıklayıcısını kesilir 1 yürütülüyor birleştirmek kullanılabilir.

Standart modda WDEB386 kullanma

Çoğunlukla geliştirilmiş modu hata ayıklama için WDEB386 hata ayıklayıcısını sağlanır; ancak, bu da bir 386 işlemci standart modda kullanılabilir. Özellikle Windows 3. 0'daki bir dizi özellik kullanılamaz olmasıdır genel olarak, standart modda WDEB386 hata, Gelişmiş mod ile aynı işlemdir.

Örneğin, "/ b" Başlangıçta kesmek için seçenek, yalnızca Windows 3.0 Gelişmiş modda kullanılabilir. Windows 3.1 standart modda kullanılabilir. (Nokta ile öneki komutları) "nokta" komutların çoğu için Gelişmiş Mod sağlanır ve standart modda kullanılamaz.

Işlemci durumunu belirleme

Denetimi hata ayıklayıcısı'için verilen bir kez kullanılan bir komut istemi karakter korumalı mod durumu işlemcinin sağlar. Aşağıdaki liste, hangi istem karakterleri görüntülenebilir ve her birinin ne anlama geldiğini gösterir:
    Character  Meaning
    ---------  -------

       >       The processor is in real mode
       #       The processor is in protected mode
       -       The processor is in virtual 8086 mode
				
modu işlemci olduğunu, hangi kod yürütülmesi için iyi bir gösterge olacaktır. Komut istemini, örneğin, bir "-" (tire), geçerli yönerge akış yerde MS-DOS, BIOS veya büyük bir olasılıkla bir TSR veya MS-DOS aygıt sürücüsü olur. Gelişmiş Mod katmanı, Windows'un işlemci, MS-DOS ya da BıOS'UN işlevleri çalıştırmak için V86 moda geçmelidir olmasıdır. Alternatif olarak, komut istemini bir "#" (sayı işareti), korumalı mod kod--Windows tabanlı bir uygulama, DLL veya Gelişmiş Mod katmanı bile olabilir--çalışıyor.

", Ne çalışıyor bilerek", bir en önemli özelliklerinden birini WDEB386 Windows altında gelişmiş modda kullanarak WIN386.EXE, bazı tanıma olduğunda. Bu modül, VMM (sanal makine yöneticisi) ve tüm vxd (Sanal aygıtlar) oluşur. Bu bileşenleri genellikle topluca "Gelişmiş Mod katmanı," "zil sıfır kodu için <a0></a0>" denir veya yalnızca "WIN386." Windows 3.0 ve 3.1 ve Windows for Workgroups 3.11, 3.0 ve 3.1 sürümleri altında hata ayıklayıcısının komut istemini "#", değeri CS yazmacını 0028h, bu makine WIN386 durdurulmuş demektir.

Durdurma WIN386 de olabilir veya uygun olmayabilir. Örneğin, WDEB386 yeteneğini WIN386 durdurmak için söz konusu olan VxD üzerinden tek adımlı VxD geliştiricilerine sağlar. Ancak, bir uygulama veya aygıt sürücüsü programcı, "modu tanıma korumalı olduğundan" WDEB386 kullanarak hiçbir isteğini ne WIN386 yapıyor olabilir. Her durumda, geçerli yürütme akış ile ilişkili bir sistem bileşeninin tanımayı WDEB386 etkin kullanmanın bir çok önemli adımıdır.

Dot komutları kullanarak

Büyük olasılıkla WDEB386 kullanma hakkında en ilginç (ve karmaşık) bölümü, komutları bir döneme göre önünde "nokta" komutları ilgilidir. Karışıklığı nedenlerini WIN386.EXE hata ayıklama sürümü yüklü olmadıkça, nokta komutların çoğu kullanılamaz biridir. Örneğin, Windows, gelişmiş modda çalışırken, aşağıdaki ileti görüntülenir
Yüklü değil, Win386 değil hata sürümü veya yanıt vermiyor
Bu, büyük olasılıkla WIN386.EXE'ın perakende sürümüne'nin yüklü olduğunu gösterir. Sorgu sözcükleri WIN386, hata ayıklama sürümünü yükleme hakkında daha fazla bilgi için:
prod(winddk) ve wdeb386
Ayrıca, Windows standart moddayken WDEB386 kullanılıyorsa, bu iletiyi her zaman görüntülenir.

Nokta dökümü komutlar

Kavramsal açıdan, nokta komutları, "dış" komutları veya veri yapıları ve işlemler Windows ortamı için belirli çalışan komutları da olabilir. Örneğin, bir hata ayıklayıcı ' beklendiği gibi "D" (dump) komutu bellek konumlarını görüntüler..., ancak ".DG" komutu HEAPWALK uygulama aynı şekilde Windows genel yığın bilgileri görüntüler.

.Dx komutlarının çoğunu WIN386.EXE hata ayıklama sürümünü gerektirir ve de standart modunda kullanılabilir. Bu makalede açıklanan komutları geri kalanı WIN386.EXE, hata ayıklama sürümünü gerektirir ve modu işlemi için geliştirilmiş. Her ŞEYI doğru olarak yüklendiğinde ".?" help komutunun nokta komutların çevrimiçi bir hızlı başvuru sağlamalıdır.

Yapılması gereken tek önemli ayrım "K" ve ".DS" komutları arasındaki farktır. "K" komutu, Windows tabanlı bir uygulama veya dinamik bağlantı kitaplığı (DLL) kod hata ayıklayıcısı durduruldu olarak Windows yığın yürütmek. Ancak, hata ayıklayıcısını WIN386 kodu izleme, "K" komutu kullanışlı çıkış oluşturmaz. Bu nedenle, WIN386 yığın görüntülemek için ".DS" komutu sağlanmıştır. Bu ", ne çalışıyor bilerek" önemi, başka bir örnek olduğu bu makalede önceden de belirttiğimiz gibi.

Nokta VM komutlar

Gelişmiş Mod katmanı, Windows'un hata ayıklamak için başlangıçta WDEB386 tasarlanmıştır; bu nedenle, durumlar olabilir hata ayıklayıcısını WIN386 ortasında durdu. CTRL + ALT + SYS RQ kullanarak yürütme durdu, örneğin, makine hemen yönergenin çalışmakta olan ancak çok kesme noktası WIN386 kod durdurmaz. Bu nedenle, genel yazmaçların normal kullanım için bir sürücü veya bir uygulama hata ayıklama çalışılırken bir uygulama geliştiricisi, gereken bir şey içermiyor.

Ancak, geçerli sanal makine çalışma durumunu .Vx komutlarını kullanarak görüntülenebilir. Örneğin, ".VM" bayrakların durumunu görüntülemek, içeriğini ve geçerli bir yönerge yığın VM'nin geçerli bir bölümünü kaydetmek. ".VL" yazarak, sistemdeki tüm VMs listesini üretecektir. Bu komutlar, uygulama için genel bir görünümünü almak için kullanılan dll DOSYASı, MS-DOS veya BIOS yürütme durumu, WIN386 durumunu karşıt olarak.

Nokta bellek komutlar

.Mx komutlarını, Gelişmiş bilgiler belleğin durumunu görüntüler. Işlevlerin çoğunu daha okunabilir bir biçimde iç WIN386 bilgileri yazdırın. Hemen yararlı olan iki ".ML" ve ".MP" komutlardır. Bu komutlar adresleri gelen doğrusal fiziksel ve tam tersi dönüştürme.

Nokta izleme komutlar

Kesme izleme bilgilerini tutmak için ".T" ve ".S" komutlarını sağlar. Izleme girişleri VM blok adresi ve kesintiye uğramış bir yönergenin adresi hangi kesme oluşmuş açıklayın. Bu komutlar hemen belirtilerden üreten sorunları (hatalar) izleme son derece yararlı olabilir.

Nokta aygıt komutlar

WIN386 ve WDEB386 kendi il çalışan hakkındaki bilgileri görüntülemek tek bir VxD becerisini sağlar. Genel olarak, kullanıcının bu bilgileri bir VxD, burada "adı" the VxD adıdır WDEB386 isteminde .name yazarak hata ayıklama isteyebilirler. Örneğin, .VDMAD yazarak sanal DMA aygıtın durumu hakkında bilgi verir.

Bir <a0>nokta</a0> aygıtı komut vermek için VxD "Debug_Query" ileti göndermek VMM neden olur. VxD bu iletiye yanıt olarak hiçbir şey yapmanız gerekmez ve gerçekte birçok VxD hata ayıklama herhangi bir çıktı oluşturmak değil. Genel olarak, bu şekilde vxd tarafından üretilen çıktı belgelenmemiştir ve yalnızca söz konusu olan VxD hata ayıklama aracı sağlanır. VxD geliştiriciler, sanal aygıt durumunu tanımlayan önemli veri yapılarını görüntülemek için bu mekanizmayı yararlanmak isteyebilirsiniz.

Nokta komut özeti

Nokta komutları, "Microsoft Windows Software Development Kit Tools" el kitabının Bölüm 9.6 (9-48 sayfası) içinde özetlenir. Bir çevrimiçi bir hızlı başvuru ekran kullanılabilir ".?" komutu.

Not: Nokta komut numarası SDK araçlarını el kitabında belgelenmiştir. Örneğin <a0>nokta</a0> aygıtı komutunun biçimi'de açıklanan, ancak belirli Sanal aygıtlar tarafından üretilen çıktı gerçek verilmemiş. Bunun nedeni vardır:

  • Genellikle, nokta komutları tarafından üretilen çıktı WDEB386 hata ayıklayıcı tarafından değil, yerine WIN386 bileşenleri tarafından oluşturulur. Bu bileşenler yeniden düzenlendi ve hata ayıklayıcı'dan fazla dinamik olarak güncelleştirilen ve böylece bu bileşenler tarafından üretilen bilgileri değiştirmek olasıdır.
  • Çıktı genellikle VxD kendisini çok özel bilgiler; normalde tipik bir hata ayıklama durumda faydalı olmaz.

Özellikler

Makale numarası: 72379 - Last Review: 22 Temmuz 2004 Perşembe - Gözden geçirme: 1.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Windows Device Development Kit (DDK) for Windows 3.0
  • Microsoft Windows Device Development Kit (DDK) for Windows 3.1
Anahtar Kelimeler: 
kbmt KB72379 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:72379
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

Geri Bildirim Ver

 

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