Menü
Bedava
kayıt
ev  /  Multimedya Windows için Hata Ayıklama Araçlarını Yükleme. Windows komut satırı, Program hata ayıklama ve kullanımı ile çalışma Hata ayıklama exe programı 64 bit indir

Windows için Hata Ayıklama Araçları'nı yükleyin. Windows komut satırı, Program hata ayıklama ve kullanımı ile çalışma Hata ayıklama exe programı 64 bit indir

Debug.exe - Yürütülebilir dosyaları denetlemek ve hata ayıklamak için kullanılan bir hata ayıklayıcı programı.

İşletim sistemi ile kullanılır Bayan dos . İşletim sistemlerinin sonraki sürümleri için

emülatör aracılığıyla çalışır Bayan dos ve sınırlı yeteneklere sahiptir. Bir takım terimi aracılığıyla çağrıldı

DEBUG [[sürücü:] [rota] dosya_adı [seçenekler]].

Örneğin: DEBUG C: \\ ... \\ My.com

Bu program bir konsol uygulamasıdır ve dosya kodu oluşturmak veya değiştirmek için tasarlanmıştır. Bununla beraber için basit uygulamalar oluşturabilirsiniz. Bayan dos ve işlerini takip ediyorlar. Bu hata ayıklayıcı en düşük derleyici düzeyindedir. montajcı. Ancak hafızayı görüntüleme ve değiştirme, kayıtların durumunu alma gibi bazı iyi özelliklere sahiptir.

Debug.exe komutları

Debug.exe komut kümesi için kurallar şunlardır:

· Debug.exe büyük / küçük harfleri ayırt etmez.

· Komutlardaki boşluklar yalnızca parametreleri ayırmak için kullanılır.

· Girilen sayılar onaltılı sayı sisteminde olmalı ve son h harfi olmamalıdır.

· Segment ve ofset, segment biçiminde iki nokta üst üste kullanılarak yazılabilir: ofset, örneğin CS: 3C1 (kod segmentinde 3C1h ofset) veya 40:17 (başlangıç \u200b\u200badresi 40 saat olan segmentte 17h ofset).

Hata ayıklayıcıyı yükledikten sonra, kısa çizgi şeklinde bir bilgi istemi görünür. Defterleri CS, DS, ES, SS şu anda, program segmentinin 256 bayt önekinin adresi ile başlatılırlar ve bellekteki çalışma alanı bu önekin adresi + 100h ile başlar. Takımlar dEBUG.EXE imleç tarafından belirtilen yere davet edildikten hemen sonra girilir. Her komut bir tanımlayıcı ve parametrelerden oluşur, tanımlayıcı bir harften oluşur.

Çizelge 1. Tüm debug.exe komutlarının özet tablosu

Takım Açıklama Biçim
A (Birleştir) Montajcı talimatlarının makine koduna çevrilmesi; Varsayılan adres CS: 0100h'dir. A [<адрес_начала_кода>]
C (Karşılaştır) İki bellek alanının içeriğinin karşılaştırılması; varsayılan değer DS'dir. Komut, arazilerin uzunluğunu veya adres aralığını gösterir. C<начальный_адрес_1> L<длина> <начальный_адрес_2> C<начальный_адрес_1> <конечный_адрес_1> <начальный_адрес_2>
D (Ekran / Boşaltma) Bellek alanının içeriğini onaltılık ve ASCII biçiminde görüntüler. Varsayılan değer DS'dir; Uzunluğu veya aralığı belirleyebilirsiniz. D [<начальный_адрес> ] D [başlangıç_adresi bitiş_adresi]
E (Giriş) Bellek verilerine veya makine kodu talimatlarına girme; varsayılan değer DS'dir. E [<адрес> [<инструкции/данные>]]
F (Dolgu) Bir bellek alanını listeden verilerle doldurma; varsayılan değer DS'dir. Hem uzunluk hem de aralık kullanabilirsiniz. F<начальный_адрес_1> L<длина> "<данные>"F<начальный_адрес> <конечный_адрес> "<данные>"
G (git) Hata ayıklanmış bir programın makine dilinde belirtilen kesme noktasına yürütülmesi; Varsayılan değer CS'dir. IP'nin doğru adresi içerdiğinden emin olun. G [\u003d<начальный_адрес>] <адрес_останова> [<адрес_останова> ...]
H (Onaltılık) Toplamın hesaplanması ve iki onaltılık değerin farkı. 'H<величина_1> <величина_2>
I (giriş) Porttan bir bayt okuyun ve çıktısını alın. ben<адрес_порта>
L (yük) Disk sektörlerinden belleğe bir dosya veya veri indirin; varsayılan değer CS: 100h'dir. Dosya debug.exe çalıştırılırken N komutu veya bağımsız değişken kullanılarak belirtilebilir. L [<адрес_в_памяти_для_загрузки>] L [<адрес_в_памяти_для_загрузки> [<номер_диска> <начальный_сектор> <количество_секторов>]]
M (Taşı) Bellek hücrelerinin içeriklerinin kopyalanması; varsayılan değer DS'dir. Hem uzunluk hem de aralık belirtebilirsiniz. M<начальный_адрес> L<длина> <адрес_назначения> M<начальный_адрес> <конечный_адрес> <адрес_назначения>
N (İsim) L ve W için bir dosya adı belirtme. N-<имя_файла>
O (Çıkış) Bir bağlantı noktasına bayt gönderme. Ö<адрес_порта> <байт>
P (Devam) REPnn önekleriyle CALL, LOOP, INT veya tekrarlanabilir dize talimatlarını yürüterek bir sonraki talimata geçin. P [\u003d<адрес_начала>] [<количество_инструкций>]
Q (Çık) Debug.exe kapatılıyor. S
R (Kayıt ol) Kayıtların içeriğini ve bir sonraki talimatı listeleyin. R,<имя_регистра>
S (Arama) Listeden karakterlerin hafızasında arama yapın; varsayılan değer DS'dir. Hem uzunluk hem de aralık belirtebilirsiniz. S<начальный_адрес> L<длина> "<данные>"S<начальный_адрес> <конечный_адрес> "<данные>"
T (İz) Adım adım program yürütme. P komutunda olduğu gibi, varsayılan CS: IP çifti kullanılır. Kesmeleri yürütmek için P komutunu kullanmanın daha iyi olduğuna dikkat edin. T [\u003d<адрес_начала>] [<количество_выполняемых_команд>]
U (Sökme) Makine kodunun sökülmesi; varsayılan çift CS: IP'dir. Ne yazık ki, debug.exe 80286+ işlemciler için özel talimatları doğru şekilde sökmemekle birlikte, doğru talimatları sökmemektedir. U [<начальный_адрес>] U [<начальный_адрес конечный_адрес>]
W (Yaz) Debug.exe'den dosya yazma; indirilmediyse dosya adını N komutuyla belirtmeniz gerekir. Ve programlar sadece dosya biçiminde kaydedilir. W [<адрес> [<номер_диска> <начальный_сектор> <количество_секторов>]]


Bellek alanlarını görüntüleme

Ekibin çalışmasını ayrıntılı olarak ele alalım Dayrı ayrı bellek alanlarının içeriğini görüntülemenizi sağlar. Bu örnek şu komutu kullanır: D 0159: 0240'tan başlayan bellek alanını görüntülemek için:

Burada, bellek alanını görüntüleme talebi üzerine, seçilen bellek alanının içeriğini gösteren sekiz satır aldık. Her satır üç bölümden oluşur:

· Soldaki biçimde gösterilen ilk baytın adresi segment: yer değiştirme.

· Satırın başında belirtilen bayt ile başlayan bir paragrafın (16 bayt) onaltılı gösterimi.

· ASCII formatında aynı paragrafın sembolleri.

Satırda belirtilen adres sadece paragraftaki ilk bayta karşılık gelir ve sonraki baytların adresleri bağımsız olarak hesaplanmalıdır. Onaltılı gösterim her baytta iki karakter içerir ve baytların kendileri okumayı kolaylaştırmak için boşluklarla ayrılır. Ek olarak, sekizinci ve dokuzuncu baytların bir tire ile ayrıldığı, böylece paragrafın iki parçaya bölündüğü ve paragraftaki bayt adreslerinin hesaplanmasının kolaylaştırıldığı belirtilmelidir.

D takımı ile faydalı püf noktaları

Paralel ve Seri Portları Kontrol Etme

BIOS veri alanının ilk 16 baytı, paralel ve seri bağlantı noktalarının adreslerini içerir. Bu nedenle, aşağıdaki komutu kullanarak bu bağlantı noktalarını kontrol edebilirsiniz:

Yazdırılan ilk sekiz bayt seri bağlantı noktalarının adreslerini gösterir. COM1-COM4. Sonraki 8 bayt, paralel bağlantı noktalarının adreslerini gösterir. LPT1-LPT4. Örneğin, bilgisayarınızda bir paralel bağlantı noktası varsa, ilk iki bayt büyük olasılıkla şöyle olur: 7803. Bağlantı noktası adresi ters sırada yazılır, yani. 0378.

Ekipman kontrolü

410h'de BIOS'ta bulunan ilk iki bayt, sisteme takılan ekipman hakkında bilgi içerir. Bu baytları şu komutla buluruz:

İlk iki baytın 23 44 olduğunu varsayalım. Takılan cihazlar hakkında bilgi almak için bu baytların şifresini çözeceğiz. Bunu yapmak için, bu baytları (44 23) dönüştürün, sonra bunları ikili sayı sistemine çevirin. Biz:

Bit değeri
Bit konumu

Bu bitler ne anlama geliyor? Şifresini çözmeye devam ediyoruz:

Klavye kaydının durumunu kontrol etme

Veri alanında BIOS adrese göre 417h klavye kaydının durumunu saklayan ilk bayt vardır. Kapat Rakam kilidi ve Caps Lock, sonra komutu yazıyoruz:

İlk bayt 00 olacaktır. Rakam kilidi ve Caps Lock, komutu tekrar çalıştırın. Şimdi ilk bayt 60 olmalıdır. Açıldığında deneysel olarak belirlenmiştir. Rakam kilidi ilk bayt 20'dir ve Caps Lock - 40.

Video sisteminin durumunu kontrol etme

Adrese göre 449h en BIOS Video verilerinin ilk alanı bulunur. Kontrol etmek için arayın:

İlk bayt, geçerli video modunu (örneğin, 03 renkli) ve ikincisi - sütun sayısını (örneğin, 80 sütunlu 50 modu) gösterir. Satır sayısını şu adreste bulabilirsiniz: 484h (40:84).

BIOS telif hakkını ve seri numarasını kontrol edin

Telif Hakkı Bilgileri BIOS gömülü ROM BIOS adrese göre FE00: 0. Telif hakkı satırı, ASCII dizisinde ve seri numarasını onaltılık bir sayı biçiminde kolayca bulunabilir. Bununla birlikte, telif hakkını gösteren satır uzun olabilir ve görüntülenen bellek alanına sığmayabilir. Bu durumda, tekrar girin D.

BIOS BIOS Tarihlerini Kontrol Edin

Bu tarih ayrıca ROM BIOS Buradan başlayarak FFFF: 5. İlgili komutu yürüttükten sonra, ASCII dizisi bu tarih biçiminde yazılır aa / gg / yy.

Debug.exe kullanarak programa doğrudan belleğe giriş

dEBUG.EXE programı doğrudan makinenin belleğine girmenizi ve ardından yürütülmesini izlemenizi ve denetlemenizi sağlar. Programı komutlarla makine kodlarına gireceğiz E. Aynı zamanda uyanık olun - hatalı verilerin hatalı bir adrese girilmesi öngörülemeyen sonuçlarla doludur! Bunun sistemde ciddi sorunlara yol açması muhtemel olmasa da, girilen tüm verileri kaybedecektir. dEBUG.EXEKolayca yapabilirsiniz. Girmeniz gereken program, doğrudan talimatların gövdesine gömülü verileri kullanır. Aşağıda, Assembler'daki programın bir listesi gösterilmekte, yorumlar makine kodlarındaki dil komutlarının analoglarını ve her komutun bir açıklamasını göstermektedir. Sayılarda karakter olmadığını unutmayın hçünkü, yukarıda söylendiği gibi, dEBUG.EXE yalnızca onaltılık sistemdeki sayıları anlar.

MOV AX, 0123; kodu B82301: AX'a 0123h değerini giriyoruz

AX EKLE, 0025; kodu 052500: AX değerine 0225h ekleyin

MOV BX, AX; kodu 8BD8: BX'e AX değerini giriyoruz

BX, AX EKLE; kod 03D8: BX'e AX değerini ekleyin

MOV CX, BX; kod 8BCB: BX değerini CX'e koyduk

SUB CX, AX; kodu 2BC8: CX'ten AX çıkarın

SUB AX, AX; kod 2BC0: açık AX

JMP 100; EBEE kodu: programın başına git

Gördüğünüz gibi, her makine talimatı 1 ila 3 bayt uzunluğundadır. İlk bayt işlemi, diğeri işlenenlerini gösterir. Programın yürütülmesi sırasıyla ilk komutla başlar ve sırayla tüm talimatları birbiri ardına geçer. Şimdi programı belleğe girebilirsiniz. Makine kodunu altı baytlık üç bölüme ayırıyoruz ve her birini E ve adresten başlayarak CS: 100.

Program hafızada olduğuna göre, yürütülmesini kontrol etmeye çalışalım. İlk olarak, kayıtların ve bayrakların mevcut durumunu kontrol edin, bunun için komutu giriyoruz R,. Hata ayıklayıcı, kayıtların içeriğini onaltılık biçimde çıktılar; farklı makinelerde, kayıtların içeriği değişebilir.

Gördüğünüz gibi, dEBUG.EXE başlatılmış segmentler DS, ES, SS, CS aynı adres. Kayıt ol IP içeren 0100 , talimatların bir ofsetten yürütüldüğünü gösterir 100h ilişkin CS (ve talimatları hafızaya girerek bu adresi az önce belirttik).

Taşma, yön, kesinti, işaret, sıfır, ek transfer, eşlik ve transfer bayraklarının değerleri de burada belirtilmiştir:

Kayıtlardan ve bayraklardan sonra, debug.exe çalıştırılacak ilk talimatla ilgili bilgileri görüntüler:

· Talimatın adresi, bizim durumumuzda 0B12: 0100'dür; burada 0B12, kod segmentinin adresidir.

· Bu kılavuza uygun makine kodu (B82301).

Montajcıda yazılmış gerçek talimat (MOV AX, 0123).

Şimdi, kayıtların ve bayrakların içeriğini analiz ettikten sonra, programın yürütülmesine geçelim. Komutu kullanarak programı adım adım uygulayacağız T. Komutu ilk kez kullanma Ttalimatları takip ediyoruz MOV. İşte komut operandının makine kodu - 2301 . Operasyon koyar 23 en AL (genç yarı balta), ve 01 - saat Ah (Üst düzey). sonra dEBUG.EXE kayıt bilgilerini tekrar görüntüler:

şimdi balta içeren 0123h, IP0103h (bu nedenle, yürütülen ifadenin uzunluğu: 0103h - 0100h = 3 byte) ve sonraki talimat bir işlemdir EKLE. Yani, komutu tekrar tekrar yürütmek Tson talimatı alıyoruz JMP 100. Kaydı kuracak IP en 100h, ve dEBUG.EXE programın başına dönecektir. Programın başlangıcına dönersek, DS, ES, SS ve CS aynı adresi içeriyor. Gerçek şu ki dEBUG.EXE girilen programları yalnızca program olarak kabul eder .COM. Ve programlarda .COM, Aksine .EXE, yığın, kod ve veriler bir segmentte saklanır.

Montaj ve demontaj

Önceki örnekte, makine kodlarında bir program tanıttık, ancak, dEBUG.EXE montajcıda yazılan talimatları anlama yeteneğine sahiptir. Bu tür programlarla çalışmak dEBUG.EXE takımlar kullanılıyor bir ve U.

Takım bir montaj talimatları ister ve bunları makine koduna dönüştürür. İlk olarak, talimatları girmek için başlangıç \u200b\u200badresini başlatın (100h):

Hata ayıklayıcı, kod segmenti adresini ve ofsetini (ör. 13F2: 0100) Şimdi her bir satıra basarak aşağıdaki montajcı talimatlarını belleğe girmeliyiz Giriş:

Son talimatı girdikten sonra, Giriş Hata ayıklayıcıya program metnini yazmayı bitirdiğimizi belirtmek için iki kez. Şimdi program komutlar kullanılarak başlatılabilir R, kayıtları görüntülemek ve T izleme için. Programlarımda talimatlar varsa, INT bir ekip tarafından işlenmemelidir Tve takım Ptüm kesintileri bir kerede işler.

Sökme prosedürüne geçelim ve örnek olarak yeni tanıtılan programı alalım. Sökeceğimiz aralığı belirtmek için ilk ve son talimatların adreslerini kullanıyoruz, yani. 100h ve 107H.

Bu komutu yürüttükten sonra dEBUG.EXE belirtilen aralıktaki, montajcıdaki, makine kodlarındaki talimatları ve her talimatın adresini çıktılar:

Bir programı diske kaydetme

Önce dosya adı ayarlanır:

Sonra kayıt olun CX programın boyutunu baytlara koymak gerekir. Nihai ve başlangıçtaki deplasmanlar arasındaki farka eşit olacaktır. Şimdi geriye kalan tek şey şu komutla diske yazmak W ve sonuç olarak kaydedilen bayt sayısına bakın. Sonuç olarak, bir programı yürütmeye hazır hale getiriyoruz.

Çıkış ekip tarafından gerçekleştirilir q. Misal:

0B3B: 0100 mov baltası, 1234

0B3B: 0103 mov ah, 4c

0B3B: 0105 int 21

0B3B: 0100 B83412 MOV AX, 1234

0B3B: 0103 B44C MOV AH, 4C

0B3B: 0105 CD21 INT 21

AX \u003d 0000 BX \u003d 0000 CX \u003d 0007 DX \u003d 0000 SP \u003d FFEE BP \u003d 0000 SI \u003d 0000 DI \u003d 0000

DS \u003d 0B3B ES \u003d 0B3B SS \u003d 0B3B CS \u003d 0B3B IP \u003d 0100 NV UP EI PL NZ NA PO NC

0B3B: 0100 B83412 MOV AX, 1234

00007 bayt yazma

Bu laboratuvarı tamamlamak için birkaç montajcı komutuna ihtiyacınız olacak:

MOV AH,<шестнадцатиричное число> - sicile yaz Ah sayılar 02 bir sistem işlevini belirtmek için - ekranda bir karakter görüntülemek;

MOV DL,<шестнадцатиричное число> - sicile yaz DL karakter kodu;

INT 21, birçok farklı işlevi uygulayan temel bir DOS kesmesidir (yordam); fonksiyon numarası AH kaydına önceden kaydedilir; bir karakteri ekrana yazdırmak için - AH fonksiyonundaki 02 kayıt defterinde, DL karakter kodunu önceden yazın.

INT 20 - Programdan (.COM programından) çıkan DOS kesmesi.

Misal:

Ekranda "*" sembolü görüntülenir.

mov AH, 02; sistem fonksiyonu 02 - ekranda bir karakter göster

mov DL, 2A; ASCII yıldız kodu

int 21s; "*" çıktısı için kesinti

int 20 saat; programdan çık

Pratik görev

amaç

Debug.exe hata ayıklayıcısının tanıtımı. Bu program ile pratik beceriler kazanmak.

ekipmanlar:

Windows çalıştıran kişisel bir bilgisayar.

Yazılım:

Hata ayıklama programı.

Kabul için sorular

1. Debug programı ne işe yarıyor?

2. Bu program nasıl çalıştırılır?

3. Debug'a komutlar nasıl girilir?

4. Tanımlayıcı nedir?

5. Program Debug'a nasıl girilir?

Görev

· Teorik materyali incelemek.

· Metin içerisinde açıklanan komutları uygulayın.

· 2 rakamın toplamını ve farkını bulun: 1. sayı gruptaki sayıdır (onaltılık sayıya dönüştürülür), ikincisi alfabedeki soyadının ilk harfinin sayısının tersidir (ek koddaki negatif sayı). Toplamı ve farkı ondalık sayıya dönüştürün.

· Mikroişlemci kayıtlarının ve bayrakların içeriğini görüntüleyin ve protokole yazın. Her bir kayıt hangi işlevi yerine getirir? .

· İlk sayıyı AX kaydına yazın (görev 3'ten) ve ikinci sayıyı BX kaydına yazın (görev 3'ten). RAM'e kod segmentine (ofset 100) AX ve BX kayıtlarını eklemek için makine komutunu girin. Montajcı formunu ekranda görüntüleyin. Bu komutu çalıştırın, sonucu ondalık sayıya çevirin.

· Ekrana bir karakter basmak için bir dizi birleştirici komutunu kod bölümüne (ofset 100) RAM'e girin - soyadınızın ilk harfi. DEBUG içindeki programı kontrol edin. Sonra diske bir .COM dosyası olarak yazın. Programın büyüklüğü nedir? DOS'tan çalıştırın.

· Rapordaki tüm eylemleri açıklayınız.

1. İşin başlığı.

2. Çalışmanın amacı.

3. Aletler ve ekipmanlar.

4. Kısa teorik bilgiler.

5. Alınan önlemlerin tanımı.

6. Oluşturulan programın metni.

7. Sonuçlar.

test soruları

1. Hangi komut veri veya makine kodu talimatlarını belleğe giriyor?

2. İki hafıza alanının içeriği nasıl karşılaştırılır?

3. Hafıza alanını listeden verilerle nasıl doldurabilirim?

4. Hata ayıklanan programı makine dilinde hangi takım yürütür?

5. Hangi komut Debug'dan bir dosya yazar?

6. Montaj ve demontaj nasıl yapılır?

Android Debug Bridge (adb), Android'deki mobil cihazların yanı sıra emülatörlerde hata ayıklamanıza izin veren bir konsol programıdır.

Açıklama

Bu yardımcı program, uygulamaların yüklenmesini ve hata ayıklanmasını büyük ölçüde kolaylaştırır ve ayrıca Unix kabuğuna erişim sağlar. İkincisi, cihazda gerekli komutları çalıştırmak için kullanılabilir. Diğer şeylerin yanı sıra, program hata ayıklama etkin bir akıllı telefonun kilidini açmak için kullanılabilir. Bununla birlikte, Android Debug Bridge'in, gerekli işlevselliğin üretici tarafından engellenmemesi şartıyla, herhangi bir Android cihazla çalışmayı desteklediğini belirtmek gerekir.

Program üç bileşen içerir:

  • Müşteri. Geliştiricinin bilgisayarında çalışır, komutlar gönderir. İstemciyi aramak için terminaldeki uygun komutu kullanabilirsiniz.
  • Daemon (adbd). Aygıttaki komutları yürütür. Her cihazda arka planda çalışır.
  • Sunucusu. İstemci ve arka plan programı arasındaki etkileşimi yönetir. Geliştiricinin bilgisayarında arka planda çalışır.

ADB Özellikleri:

  • Bağlı ve desteklenen cihazların bir listesini görüntüleyin.
  • Günlükleri görüntüleyin.
  • Cihazlar arasında veri ve dosya kopyalama ve aktarma.
  • Uygulamaları yükleyin ve kaldırın.
  • Veri bölümünü temizleyin ve üzerine yazın.
  • Ve daha fazlası.

Sitemizden Android Debug Bridge'i kayıt ve SMS olmadan ücretsiz olarak indirebilirsiniz.

Ekran görüntüleri

Sürücü, işletim sistemi, yani yazılım ve donanım, yani video kartları, yazıcılar, işlemciler vb. Gibi fiziksel aygıtlar arasındaki bağlantı bağlantısıdır. İşletim sistemi en gerekli aygıtlar için temel sürücüler içerebilir - fare, klavye, ancak diğer her şey yeni sürücüler gerektirir.

Sürücü nasıl kurulur?

1. En kolay yol, bir kurulum dosyası varsa, onu çalıştırmanız ve yükleyicinin talimatlarını izlemeniz yeterlidir.
2. Kullanılabilir bir yükleyici yoksa ve yalnızca * .inf, * .dll, * .vxt, *. Sys, * .drv. Uzantıları mevcutsa, eylem algoritması şöyle görünmelidir:

a) Önce masaüstündeki simgeyi seçmeniz gerekir ( Benim bilgisayarım) sağ tıklayın ve ( Özellikleri).

b) Şimdi sekmeye gidin ( ekipman) düğmesine basın ve ( aygıt Yöneticisi).

c) Şimdi sürücünün kurulacağı / güncelleneceği cihazı seçmeniz gerekiyor. Cihaz ile çizgiyi sağ tıklayın ve ( Özellikleri) veya istediğiniz ayarlara gitmek için üzerine çift tıklayabilirsiniz.


d) Sekmeye gidin ( sürücü) düğmesini seçin ( Yenile).

e) Görüntülenen iletişim kutusunda ( Hayır bu sefer değil) Ve git ( Daha ileri).

f) Bu aşamada iki seçenek vardır. Sürücüleri otomatik modda yüklemeyi deneyebilirsiniz, ardından işletim sistemi kendisi aygıta uygun sürücüleri bulmaya ve yüklemeye çalışacaktır, bunun için seçiyoruz ( Otomatik kurulum (önerilir)), deneme başarısız olursa ikinci öğeye gidin ( Belirli bir konumdan kurulum) seçin ve ( Daha ileri).


g) Bu menü öğesi, çıkarılabilir medyada sürücü bulma ile klasörü sürücüyle birlikte belirleme seçeneği arasında bir seçim anlamına gelir. Bu nedenle, kullanılabilir bir sürücü diski varsa, diski CD-rom'a takın ve seçeneği seçin ( Çıkarılabilir medyada arama (disketler, CD'ler ..)) Ve git ( Daha ileri).

Sürücü İnternet'te bağımsız olarak bulunur ve indirilirse, sürücünün kurulum verilerinin bulunduğu klasörün manuel yolunu aşağıdaki gibi belirtmeniz gerekir. Öğeyi seçin ( Aşağıdaki arama konumunu ekleyin:) Ve git ( genel bakış), şimdi listeden sürücünün bulunduğu klasörü seçin ve düğmesine tıklayın ( tamam) Şimdi cesurca ilerle ( Daha ileri), her şey doğru şekilde yapılırsa, gerekli sürücünün kurulumu başlayacaktır.

Windows için Hata Ayıklama Araçları - Windows işletim sistemleri için hata ayıklama araçları kodu. Microsoft, kullanıcı modu ve çekirdek modu kodunda hata ayıklamak için tasarlanmış bir dizi ücretsiz programdır: uygulamalar, sürücüler, hizmetler, çekirdek modülleri. Araç kiti konsol ve GUI modu hata ayıklayıcıları, sembollerle çalışmak için yardımcı programlar, dosyalar, işlemler, uzaktan hata ayıklama sağlamak için yardımcı programlar içerir. Araç kiti, sistemin çeşitli bileşenlerindeki arızaların nedenlerini bulabileceğiniz yardımcı programlar içerir. Windows için Hata Ayıklama Araçları belirli bir andan itibaren, bağımsız bir dağıtım biçiminde indirilemez ve Windows SDK'nın (Windows Yazılım Geliştirme Kiti) bir parçasıdır. Windows SDK araç seti de MSDN abonelik programının bir parçası olarak kullanılabilir veya msdn.microsoft.com adresinden ayrı bir dağıtım olarak ücretsiz olarak indirilebilir. Geliştiricilere göre, Windows için Hata Ayıklama Araçları'nın en son ve en güncel sürümü Windows SDK'sında bulunmaktadır.

Windows için Hata Ayıklama Araçları sık sık güncellenir ve genel erişimde düzenlenir ve bu işlem işletim sistemlerinin yayınlanmasına bağlı değildir. Bu nedenle, yeni sürümleri periyodik olarak kontrol edin.

Şimdi Microsoft Windows için Hata Ayıklama Araçlarının bize nelere izin verdiğini görelim:

  • Yerel uygulamalar, hizmetler (hizmetler), sürücüler ve çekirdekte hata ayıklama;
  • Ağ uzak uygulamalarında, hizmetlerinde (hizmetlerinde), sürücülerinde ve çekirdeğinde hata ayıklama;
  • Çalışan uygulamalarda gerçek zamanlı hata ayıklama;
  • Uygulamalar, çekirdek ve bir bütün olarak sistem için bellek dökümü dosyalarını analiz edin;
  • X86 / x64 / Itanium mimarilerine dayanan sistemlerle çalışma;
  • Kullanıcı modu ve çekirdek modu programlarında hata ayıklama;

Windows için Hata Ayıklama Araçları'nın şu sürümleri kullanılabilir: 32 bit x86, Intel Itanium, 64 bit x64. Bunlardan ikisine ihtiyacımız olacak: x86 veya x64.

Windows için Hata Ayıklama Araçları'nı yüklemek için çeşitli yöntemler mevcuttur, bu makalede sadece ana olanları ele alacağız:

  • Web yükleyicisi üzerinden kurulum.
  • Windows SDK ISO'sundan Windows için Hata Ayıklama Araçlarını Yükleme.
  • Windows için Hata Ayıklama Araçları'nı doğrudan dbg_amd64.msi /dbg_x86.msi paketlerinden yükleme.

Hangi noktada belirsiz kalıyor, neden hata ayıklama araçlarını bir bilgisayara yüklemem gerekiyor? Sonuçta, çalışma ortamına müdahalenin son derece istenmeyen bir durumla karşılaşırsınız! Ve daha da ötesi, yeni bir ürünün yüklenmesi, yani kayıt defteri / sistem dosyalarında değişiklik yapılması tamamen kabul edilemez olabilir. Kritik sunucular örnek olarak verilebilir. Geliştiriciler neden kurulum gerektirmeyen taşınabilir uygulama sürümleriyle bir seçenek düşünmüyor?
Sürümden sürüme, Windows için Hata Ayıklama Araçları paketinin yükleme işlemi bazı değişiklikler geçiriyor. Şimdi doğrudan kurulum işlemine gidelim ve araç setini nasıl kurabileceğinize bakalım.

Web yükleyicisini kullanarak Windows için Hata Ayıklama Araçlarını Yükleme

Windows SDK Arşivi sayfasına gidip Windows 10 adlı ve "Windows 10 SDK (10586) ve Windows 10 Mobile aygıt öykünücüsü (Microsoft) (sürüm 10586.11) öğesinin altında bir bölüm buluyoruz.

Öğeyi tıklayın SDK'YI YÜKLE. Tıkladıktan sonra, Windows SDK'nın çevrimiçi yüklemesini başlatan sdksetup.exe dosyasını indirin ve çalıştırın. İlk aşamada, yükleyici sistemde yüklü olan en son .NET Framework paketinin varlığını kontrol edecektir (şu anda 4.5'tir). Paket eksikse, bu kurulum sunulacak ve sonunda istasyon yeniden başlatılacaktır. Yeniden başlatmanın hemen ardından, kullanıcı yetkilendirme aşamasında, Windows SDK'nın kurulum işlemi başlar.

Genellikle, tüm paket bileşenlerini istisnasız olarak seçerken, kurulum işlemi sırasında hatalar oluşabilir. Bu durumda, bileşenlerin gerekli minimum set olan seçici olarak kurulması önerilir.

Windows için Hata Ayıklama Araçları'nın yüklenmesi tamamlandıktan sonra, bu kurulum yöntemiyle hata ayıklama dosyalarının konumu aşağıdaki gibi olacaktır:

  • 64 bit sürümleri: C: \\ Program Dosyaları (x86) \\ Windows Kits \\ x.x \\ Debuggers \\ x64
  • 32 bit sürümleri: C: \\ Program Dosyaları (x86) \\ Windows Kits \\ x.x \\ Debuggers \\ x86

* burada x.x, geliştirme kitinin belirli bir sürümüdür;
Sürüm 8 ve sonraki sürümlerin, yükleme yollarının önceki tüm sürümler için klasik hata ayıklama araçlarından önemli ölçüde farklı olduğuna dikkat edin?

Windows için Hata Ayıklama Araçları'nı yüklemenin bu yönteminin büyük bir avantajı, tüm mimariler için bir kerede hata ayıklama araçlarının sürümlerinin yüklenmesidir.

Windows SDK ISO'sundan Windows için Hata Ayıklama Araçlarını Yükleme

Bu yöntem, Windows SDK'nın (Yazılım Geliştiricileri Kiti) tam yükleme görüntüsünü kullanarak Windows için Hata Ayıklama Araçları'nı yüklemeyi içerir. Belli bir zamana kadar, ilgili sistemin ISO görüntüsünü Windows SDK Arşivi sayfasında indirebilirsiniz. Ancak, şu anda, sdksetup.exe web yükleyicisini çalıştırarak ve seçeneğini belirleyerek SDK ISO görüntüsünü alabilirsiniz. Windows Yazılım Geliştirme Kitini indirin yükleyicinin başlangıç \u200b\u200bpenceresinde:

Görüldüğü gibi, web yükleyicisini kullanan önceki kurulum yöntemi oldukça kaprislidir ve çoğu zaman başarısız olur. Temiz sistemlerde sorunsuz kurulur, ancak zaten yüklü sistemlerde çok sayıda sorun vardır. Böyle bir vakanız varsa, bu yöntemi kullanın.

Buna göre, sayfada gerekli dağıtımı seçmeniz gerekiyor, benim için (ve sanırım birçokları için) şu anda “Windows 7 için Windows SDK ve .NET Framework 4” ve aşağıdaki “DVD diskinin ISO görüntüsünü al” bağlantısını tıklayın. .

Msdn.microsoft.com web sitesiyle çalışırken, rakip ürünlerin çalışmaz durumları fark edildiğinden Internet Explorer kullanmanızı tavsiye ederim!

Buna göre, sadece gerektiği gibi seçmek gerekir. Genellikle, Windows için Hata Ayıklama Araçları'nın bit derinliği sistemin bit derinliği ile aynıdır. Çoğunlukla 64 bit çalışılan sistemlere sahibim, bu yüzden çoğu durumda GRMSDKX_EN_DVD.iso 64 bit sistemi için görüntüyü indiriyorum.
Ardından, görüntüyü indirdikten sonra, mevcut ISO görüntüsüyle bir şekilde çalışmamız gerekiyor. Geleneksel yol, elbette, bir CD yazmaktır, ancak bu oldukça uzun ve bazen pahalı bir yöntemdir. Sistemde sanal disk aygıtları oluşturmak için ücretsiz yardımcı programlar kullanmanızı öneririm. Şahsen, bu amaçla DEAMON Tools Lite programını kullanmayı tercih ediyorum. Birisi dedikleri gibi tadı ve rengi için başka tercihlere, daha doğrudan veya hafif yardımcı programlara sahip olabilir .. DAEMON Tools Lite'ı yükledikten sonra, GRMSDKX_EN_DVD.iso görüntü dosyasına çift tıklıyorum ve sistemde yeni bir sanal dosya görünüyor CD:

Daha sonra, çift tıklamayla başlatmayı etkinleştirir ve Windows SDK'nın kurulumunu başlatırım:

Listeden kurulu bileşenleri seçme sırası geldiğinde, ekran görüntüsünde işaretlenenler dışındaki tüm seçenekleri kesinlikle devre dışı bırakırız. Bu artık gereksiz hatalardan kaçınmaya yardımcı olacaktır.


Her şey böyledir, ekran görüntüsünde iki seçenek işaretlenmiştir: "Windows Performans Araç Seti" ve "Windows için Hata Ayıklama Araçları". Her ikisini de seçin, çünkü Windows Performans Araç Seti sizin için kullanışlı olacaktır! Ayrıca, "İleri" düğmesine tıkladıktan sonra kurulum her zamanki gibi devam eder. Ve sonunda "Kurulum Tamamlandı" yazısını göreceksiniz.
Yüklemenin sonunda, Windows için Hata Ayıklama Araçları paketinin çalışma dizinleri aşağıdaki gibi olacaktır:

  • X86 sürümü için:
  • X64 sürümü için:

Bu konuda, Windows için Hata Ayıklama Araçları'nın kurulumu tamamlanmış sayılabilir.

Windows için Hata Ayıklama Araçları'nı bir .msi dosyası aracılığıyla yükleme

Önceki iki yolla Windows için Hata Ayıklama Araçları'nın yüklenmesi sırasında sorun olması durumunda, yine de bir kereden fazla yardımcı olan en güvenilir ve zaman testli bir tane daha var. Bir kez, Windows SDK'ya entegrasyondan önce, Windows için Hata Ayıklama Araçları, şimdi bulunabilen, ancak zaten Windows SDK dağıtımının bağırsaklarında bulunan ayrı bir yükleyici .msi olarak mevcuttu. Halihazırda Windows SDK'nın ISO görüntüsüne sahip olduğumuzdan, sisteme monte edemiyoruz, ancak iyi bilinen WinRAR arşivleyicisini, kuyuyu veya ISO disklerinin içeriğiyle çalışan başka bir ürünü kullanarak açabiliyoruz.

Resmi açtıktan sonra, kökte bulunan "Kurulum" dizinine gitmeli ve ardından dizinlerden birini seçmeliyiz:

  • 64 bit sürümünü yüklemek için: \\ Setup \\ WinSDKDebuggingTools_amd64 ve dbg_amd64.msi dosyasını bu dizinden açın.
  • 32 bit sürümünü yüklemek için: \\ Setup \\ WinSDKDebuggingTools ve dbg_x86.msi dosyasını bu dizinden çıkarın.

Yüklemenin sonunda, Windows için Hata Ayıklama Araçları paketinin çalışma dizinleri aşağıdaki gibi olacaktır:

  • X86 sürümü için: C: \\ Program Dosyaları (x86) \\ Windows için Hata Ayıklama Araçları (x86)
  • X64 sürümü için: C: \\ Program Dosyaları \\ Windows için Hata Ayıklama Araçları (x64)

Bu konuda, Windows için Hata Ayıklama Araçları'nın yüklenmesi tamamlanmış sayılabilir.

ek bilgi

Bunun ne ile bağlantılı olduğunu bilmiyorum, belki de dikkatsizliğimle, ancak Windows için Hata Ayıklama Araçları'nı yükledikten sonra, yükleyici, hata ayıklayıcılı dizinin yolunu sistem değişkeni yoluna yazmaz. Bu, çeşitli hata ayıklama görevlerinin doğrudan konsoldan başlatılmasına bazı kısıtlamalar getirir. Bu nedenle, bir yolun yokluğunda, bağımsız olarak pencerede reçete ederim Ortam Değişkenleri hata ayıklama araçlarına giden yol:

  • C: \\ Program Dosyaları (x86) \\ Windows Kits \\ 10 \\ Debuggers \\ x86
  • C: \\ Program Dosyaları (x86) \\ Windows Kits \\ 10 \\ Debuggers \\ x64

* Sizin durumunuzda, yollar hem farklı bir bit derinliği işletim sistemi kullanımı hem de farklı bir sürüm SDK'sı kullanımı nedeniyle farklılık gösterebilir.

Windows için Hata Ayıklama Araçları paketinin yardımcı programları taşınabilir uygulamalar olarak çalışabilir, sadece dizini çalışma sisteminden kopyalayın Microsoft Windows Performans Araç Seti ve bunu bir üretim sunucusunda taşınabilir bir sürüm olarak kullanın. Ancak sistemin kapasitesini göz önünde bulundurmayı unutmayın! Paketin kritik bir sisteme tam kurulumunu bile yaptıysanız, kurulumdan hemen sonra çalışmaya başlayabilirsiniz, yeniden başlatma gerekmez.

Windows için Hata Ayıklama Araçlarının Kompozisyonu

Ve son olarak, Windows için Hata Ayıklama Araçları'nın bileşimi:

Dosya Randevu
adplus.doc ADPlus yardımcı programı belgeleri.
adplus.exe Bir veya daha fazla işlem için dökümler, günlük dosyaları oluşturmak için cdb hata ayıklayıcısının çalışmasını otomatikleştiren bir konsol uygulaması.
agestore.exe Sembol sunucusu veya kaynak sunucu tarafından kullanılan depodan eski dosyaları kaldırmak için bir yardımcı program.
breakin.exe Bir işlemin CTRL + C tuşlarına basmaya benzer şekilde özel bir kesme (kesme) göndermesine izin veren bir yardımcı program.
cdb.exe Kullanıcı Modu Konsolu Hata Ayıklayıcısı.
convertstore.exe Karakterleri 2 katmandan 3 katmana dönüştürme yardımcı programı.
dbengprx.exe Uzaktan hata ayıklama için Ripiter (proxy sunucusu).
dbgrpc.exe RPC çağrı durumu bilgilerini görüntülemek için bir yardımcı program.
dbgsrv.exe Uzaktan hata ayıklama için kullanılan sunucu işlemi.
dbh.exe Bir karakter dosyasının içeriği hakkında bilgi görüntülemek için bir yardımcı program.
dumpchk.exe Döküm Denetimi Yardımcı Programı. Döküm dosyasını hızlı bir şekilde kontrol etmek için bir yardımcı program.
dumpexam.exe Bir bellek dökümü analiz etmek için bir yardımcı program. Sonuç% SystemRoot% \\ MEMORY.TXT içinde görüntülenir.
gflags.exe Global bayrak düzenleyici sistemi. Yardımcı program kayıt defteri anahtarlarını ve diğer ayarları yönetir.
i386KD.EXE Kd'ye sarın. Ne zaman x86 makineleri için Windows NT / 2000 tabanlı sistemler için kd olarak adlandırıldı? Muhtemelen uyumluluk nedeniyle terk edildi.
ia64kd.exe Kd'ye sarın. IA64 makineleri için Windows NT / 2000 tabanlı sistemler için ne zaman kd olarak adlandırıldı? Muhtemelen uyumluluk nedeniyle terk edildi.
kd.exe Çekirdek modu konsol hata ayıklayıcısı.
kdbgctrl.exe Çekirdek hata ayıklama yönetimi aracı. Çekirdek hata ayıklama bağlantısını yönetme ve yapılandırma yardımcı programı.
kdsrv.exe KD için Bağlantı Sunucusu. Yardımcı program, uzak bağlantıları başlatan ve bekleyen küçük bir uygulamadır. kd istemcide çalışır ve uzaktan hata ayıklama için bu sunucuya bağlanır. Hem sunucu hem de istemci aynı Hata Ayıklama Araçları derlemesinden olmalıdır.
kill.exe İşlemleri tamamlamak için yardımcı.
list.exe Bir dosyanın içeriğini ekranda görüntülemek için yardımcı program. Kitte, bu minyatür yardımcı programının tek bir amaç olduğu ortaya çıktı - büyük metin veya günlük dosyalarını görüntülemek için. Metni parçalar halinde yüklediğinden, az bellek alanı kaplar.
logger.exe Tek bir işlemle çalışabilen minyatür bir hata ayıklayıcı. Yardımcı program, logexts.dll dosyasını tüm işlev çağrılarını ve çalışılan programın diğer eylemlerini kaydeden işlem alanına enjekte eder.
logviewer.exe Logger.exe hata ayıklayıcısı tarafından kaydedilen günlükleri görüntülemek için bir yardımcı program.
ntsd.exe Microsoft NT Sembolik Hata Ayıklayıcısı (NTSD). Başlangıçta bir metin kutusu oluşturması dışında cdb ile aynı hata ayıklayıcı. CDB gibi, ntsd hem konsol hem de grafik uygulamalarda hata ayıklama yeteneğine sahiptir.
pdbcopy.exe Bir karakter dosyasından özel karakterleri kaldırmak, bir karakter dosyasına dahil ortak karakterler üzerinde kontrol yardımcı programı.
remote.exe KD, CDB ve NTSD konsol hata ayıklayıcılarının uzaktan hata ayıklama ve uzaktan izlenmesi için yardımcı program. Tüm bu konsol hata ayıklayıcılarını uzaktan çalıştırmanızı sağlar.
rtlist.exe Uzak görev görüntüleyici. Yardımcı program, DbgSrv sunucusu işlemi aracılığıyla çalışan işlemlerin bir listesini görüntülemek için kullanılır.
symchk.exe Microsoft karakter sunucusundan karakterleri indirmek ve yerel bir karakter önbelleği oluşturmak için yardımcı program.
symstore.exe Ağ veya karakterlerin yerel depolamasını oluşturmak için bir yardımcı program (2 katmanlı / 3 katmanlı). Karakter depolama - disk üzerinde belirli bir yapıya göre oluşturulmuş ve karakter içeren özel bir dizin. Kök sembol dizininde, bileşenlerin adlarıyla aynı adlara sahip bir alt klasör yapısı oluşturulur. Buna karşılık, bu alt klasörlerin her birinde, ikili dosyaların hashlenmesi ile elde edilen özel isimlere sahip iç içe alt klasörler bulunur. Symstore yardımcı programı bileşen klasörlerini tarar ve herhangi bir istemcinin alabileceği sembol deposuna yeni bileşenler ekler. Symstore'un seviye 0 katmanlı havuzdan karakter almak ve bunları seviye 2 katmanlı / 3 katmanlı depoya koymak için kullanıldığı söylenir.
tlist.exe Görev görüntüleyici. Çalışan tüm işlemleri listelemek için bir yardımcı program.
umdh.exe Kullanıcı modu dökümü yığın yardımcı programı. Seçilen bir işlemin yığın analizi için bir yardımcı program. Öbek için çeşitli parametreler görüntülemenizi sağlar.
usbview.exe USB görüntüleyici. Bir bilgisayara bağlı USB aygıtlarını görüntülemek için yardımcı program.
vmdemux.exe Sanal makinenin demultiplexer. Bir COM bağlantısı için birkaç adlandırılmış yöneltme oluşturur. Kanallar, sanal makinenin çeşitli bileşenlerinde hata ayıklamak için kullanılır.
windbg.exe Grafik arayüzlü kullanıcı modu ve çekirdek modu hata ayıklayıcısı.
MS-DOS yürütülebilir dosyalarını denetlemek ve hata ayıklamak için bir program olan Debug.exe'yi başlatın. Komut parametresiz yürütüldü ayıklama Debug.exe programını başlatır ve bir komut istemi görüntüler ayıklamakısa çizgi (-) ile temsil edilir.


1)
Virtual PC 2007'yi Windows XP görüntüsü ile başlatın. İşletim sistemini komut satırı moduna getirin.

Başlat -\u003e Çalıştır -\u003e cmd girin ve Enter tuşuna basın.


2)
Hata ayıklama komut seçenekleriyle ilgili yardım alma ve uygulama

Konsolda: debug yazın, sonra (?).

Tüm takımların kısa listesi:

A (topla) - Montajcı talimatlarının makine koduna çevrilmesi. Varsayılan adres CS: 0100 saat.

C (karşılaştırma) - İki hafıza alanının içeriğinin karşılaştırılması. Varsayılan olarak DS. Komut, arazilerin uzunluğunu veya adres aralığını gösterir.

D (dökümü) - Bellek alanının içeriğini onaltılık ve ASCII formatlarında çıktılar. Varsayılan olarak DS. Uzunluğu veya aralığı belirleyebilirsiniz.

E (gir) - Bellek verilerine veya makine kodu talimatlarına girme. Varsayılan olarak DS.

F (doldur) - Hafıza alanını listeden verilerle doldurma. Varsayılan olarak DS. Hem uzunluk hem de aralık kullanabilirsiniz.

G (git) - Hata ayıklanmış bir programın makine dilinde belirtilen kesme noktasına yürütülmesi. Varsayılan olarak DS. Bunu yaparken, IP doğru adresi içeriyor.

H (onaltılık) - Toplamın hesaplanması ve iki onaltılık değerin farkı.

I (giriş) - Porttan bir bayt okuyun ve çıktısını alın.

L (yük) - Diskin sektörlerinden belleğe bir dosya veya veri indirin. . Varsayılan - CS: 100 saat. Dosya şu komut kullanılarak belirtilebilir N- veya başlangıçta tartışma DEBUG.EXE.

M (taşıma) - Bellek hücrelerinin içeriğini kopyalama; varsayılan olarak kullanılır DS

N (ad) - Ekipler için bir dosya adının belirtilmesi L (YÜK) ve W (YAZ).

O (çıkış) - Çıkış portuna bir bayt gönderme.

P (devam) - Talimatları takip et CALL, LOOP, INT (döngü, kesme, prosedür) veya öneklerle tekrarlanan dize talimatları REPnnbir sonraki talimata geçmek.

Q (çık) - Kapat DEBUG.EXE. Test dosyasını kaydetmeden.

R (kayıt ol) - Kayıtların içeriği ve aşağıdaki talimatlar.

S (arama) - Listeden karakterlerin hafızasında arama yapın. Varsayılan olarak DS. Hem uzunluk hem de aralık belirtebilirsiniz.

T (iz) - Adım adım program yürütme. Takım gibi P, varsayılan çifttir CS: IP. Ancak kesmeleri yürütmek için komutu kullanmak daha iyidir P.

U (sökme) - Makine kodunun sökülmesi. Varsayılan çift CS: IP.

W (yazma) - Dosyayı şuradan kaydet: DEBUG.EXE diske. Dosya adını şu komutla belirtmelisiniz: N-indirilmemişse.


3)
RAM ve ROM'un karakteristik alanlarının dökümlerini alın ve düzeltin

R komutunu toplayalım.

Defterleri CS, DS, ES, SS bu noktada başlatıldı program segmenti için 256 bayt önekin adresive bellekteki çalışma alanı bu önekin adresleri +100s.

Ekip alımı için kurallar:

A) B dEBUG.EXE harflerin durumu farklı değildir.

B) Komutlardaki boşluklar sadece parametrelerin ayrılması için kullanılır.

C) Girilen sayılar onaltılık gösterimle yazılmalıdır. olmadan son mektup h.

D) Segment ve ofset, biçimdeki iki nokta üst üste kullanılarak yazılır segment: yer değiştirme.


4)
Bellek alanını görüntüleyin.

Takım D, ayrı ayrı bellek alanlarının içeriğini görüntülemenizi sağlar.
İş için kullanılabilir belleğin boyutunu kontrol edin. Bunu yapmak için şunları sunuyoruz: d 40:13 ve Enter tuşuna basın.
Ekranda görünen ilk iki bayt, kilobayt ve onaltılık gösterimle bellek boyutunu içerir; baytlar ters sıradadır. Elimizde: 8002 0280 640 (W)

  • Solda formatta gösterilen ilk baytın adresi segment: yer değiştirme.
  • Satırın başında bayt ile başlayan bir paragrafın (16 bayt) onaltılı gösterimi.
  • ASCII formatında aynı paragrafın sembolleri.


4)
Paralel ve seri portların kontrolü.


BIOS veri alanının ilk 16 baytı, paralel ve seri bağlantı noktalarının adreslerini içerir. Yazdırılan ilk sekiz bayt, COM1-COM4 seri bağlantı noktalarının adreslerini gösterir. Aşağıdaki 8 bayt, LPT1-LPT4 paralel bağlantı noktalarının adreslerini gösterir. Port adresi 78 03 - ters şekilde yazılmıştır.


5)
Klavye kaydının durumunu kontrol etme.


Veri alanında BIOS adrese göre 417h klavye kaydının durumunu saklayan ilk bayt var.


6)
BIOS üretim tarihini kontrol edin.


Telif Hakkı Bilgileri BIOS gömülü ROM BIOS adrese göre FE00: 0. Telif hakkı satırı şu adreste kolayca bulunabilir: ascii -sequences ve seri numarası onaltılık bir sayı biçimindedir. Ekranda yedi basamaklı bir bilgisayar numarası ve telif hakkı tarihi görüyoruz. Bununla birlikte, telif hakkını gösteren satır uzun olabilir ve görüntülenen bellek alanına sığmayabilir. Bu durumda, tekrar girin D.

Tarih ayrıca ROM BIOS Buradan başlayarak FFFF: 5. Uygun komutu yerine getirdikten sonra ascii - sıralar bu tarih biçiminde kaydedilir aa / gg / yy.


7)
Makine kodlarına bir örnek.


Bir makine dili programının oluşturulması, hafızadaki temsili ve yürütmenin sonuçları üzerinde düşünün. Hata ayıklayıcı komutu A (Birleştir) çevirir DEBUG montajcı talimatlarını alma ve makine kodlarına çevirme moduna.

Program hafızada olduğuna göre, yürütülmesini kontrol etmeye çalışalım. İlk olarak, kayıtların ve bayrakların mevcut durumunu kontrol edin, bunun için komutu giriyoruz R,.


IP - kod segmentine göre yürütülecek bir sonraki komutun ofset adresini içeren bir kayıt CS x86 aile işlemcilerinde.

Kayıt ol IP İle bağlı CS gibi CS: IPnerede CS geçerli kod segmentidir ve IP - bu segmente göre akım ofseti.

Kayıt ol IP 16 bit işaretçi kaydıdır. Buna ek olarak, bu tür kayıtların yapısı şunları içerir: SP (Yığın işaretçisi - yığın işaretçisi) ve BP (Temel işaretçi - temel işaretçi).

Kayıt Cx başarılı ve 8'e eşitti. Segment başlatma gerçekleşti DS, ES, SS, CS aynı adres. Kayıt ol IP içeren 0100 , talimatların göreli olarak 100s'de yürütüldüğünü gösterir. CS (ve onunla başladı).

değer

Açıklama

Taşma yok

Yukarı veya sağa yön

Kesinti Çözünürlüğü

Olumlu işaret

Sıfır olmayan değer

Ek transfer yok

Tek kelime

0 B16 - Kod segmentinin adresi.
  • Bu talimata karşılık gelen makine kodu ( B025).
  • Aslında montajcıda yazılı talimat ( Mov a L,25 ).

  • 8)
    U hata ayıklama komutu (Demonte), montajcı talimatları için makine kodlarını gösterir.


    Hadi uygulayalım. Hata ayıklayıcıya, görüntülenmesi gereken ilk ve son komutların adreslerini bildirmek gerekir (100 ve 107 var). Belirtilen aralıkta, montajcıda, makine kodlarında ve her bir talimatın adresinde görünen talimatlar. Komutu kullanarak programı adım adım çalıştırın T.

    Komutu ikinci kez kullanma T, talimatları takip ettik MOV. Makine kodu işlenen talimatları - 00D8. Operasyon ekler AL için BL. Çıkmak için girin S. Ve yaratılanları yeniden sökün testpi.com.


    9)
    BIOS'u (C000: 0 ... FFFF: F) bir dosyaya kopyalayın ve daha sonra analiz etmek için kaydedin.


    Kodu değiştirme veya kopyalama BIOS üreticinin telif hakkını ihlal edebilir BIOS. BIOS yalnızca kişisel kullanım için kopyalanabilir veya değiştirilebilir, ancak dağıtım için değiştirilemez. Tipik Kopyalama Prosedürü BIOS programı kullanarak DEBUG Aşağıda veriyoruz. Bu prosedür, dosyadaki adresten 64 Kbaytlık tüm segmenti kaydedecektir. F000: 0000 saat tarafından F0000: FFFFh.


    Bulgular:

    • dEBUG.EXE Montajcı ve makine kodunu gözlemlemek ve hata ayıklamak için kullanılabilir.
    • dEBUG.EXE bir programı izlemenize, kesme noktalarını ayarlamanıza, bellek alanlarını görüntülemenize, programları doğrudan bilgisayar belleğine girmenize olanak tanır.
    • dEBUG.EXE indirilebilir programları program olarak sunar .COM.
    • dEBUG.EXE yalnızca onaltılık sistemdeki sayıları kabul eder.
    • dEBUG.EXE büyük / küçük harfleri birbirinden ayırmaz.