Proqramı yükləyin debug exe 64 bit. Windows üçün Debugging Tools quraşdırın. Qəbul üçün suallar

Windows üçün sazlama alətləri- Əməliyyat kodunu sazlama vasitələri Windows sistemləri. Bunlar istifadəçi rejimi və nüvə rejimi kodunu sazlamaq üçün nəzərdə tutulmuş Microsoft-dan sərbəst paylanmış proqramlar toplusudur: proqramlar, sürücülər, xidmətlər, nüvə modulları. Alətlər dəstinə konsol və GUI sazlayıcıları, simvollarla işləmək üçün proqramlar, fayllar, proseslər, uzaqdan sazlama üçün kommunal proqramlar daxildir. Alət dəstində sistemin müxtəlif komponentlərində nasazlıqların səbəblərini tapa biləcəyiniz yardım proqramları var. Windows üçün sazlama alətləri müəyyən bir andan müstəqil bir paylama şəklində yükləmək mümkün deyil və Windows SDK (Windows Software Development Kit) hissəsidir. Instrumental dəst Windows alətləri SDK, öz növbəsində, MSDN Abunə Proqramının bir hissəsi kimi mövcuddur və ya msdn.microsoft.com saytından ayrıca paylama kimi sərbəst şəkildə endirilə bilər. Tərtibatçıların fikrincə, ən son və ən böyük cari versiya Windows üçün Sazlama Alətləri Windows SDK-da var.

Windows üçün Sazlama Alətləri tez-tez yenilənir və ictimaiyyətə təqdim olunur və bu proses əməliyyat sistemlərinin buraxılışından asılı deyil. Buna görə də, vaxtaşırı yeni versiyaları yoxlayın.

İndi görək, xüsusən, Sazlama Alətləri nə üçün Microsoft Windows:

  • Yerli proqramların, xidmətlərin (xidmətlərin), drayverlərin və nüvənin sazlanması;
  • Şəbəkə üzərində sazlama uzaq proqramlar, xidmətlər (xidmətlər), drayverlər və kernel;
  • Real vaxt rejimində işləyən proqramları düzəldin;
  • Proqramların, nüvənin və bütövlükdə sistemin yaddaş boşaltma fayllarını təhlil etmək;
  • x86/x64/Itanium arxitekturasına əsaslanan sistemlərlə işləmək;
  • İstifadəçi rejimində və nüvə rejimində proqramların sökülməsi;

Windows üçün Debugging Tools-un aşağıdakı versiyaları mövcuddur: 32-bit x86, Intel Itanium, 64-bit x64. Onlardan ikisinə ehtiyacımız var: x86 və ya x64.

Windows üçün Sazlama Alətlərini quraşdırmağın bir neçə yolu var, bu yazıda yalnız əsaslarını nəzərdən keçirəcəyik:

  • Veb quraşdırıcı vasitəsilə quraşdırma.
  • Sazlamanı quraşdırın Windows SDK ISO-dan Windows üçün alətlər.
  • Windows üçün Sazlama Alətlərinin birbaşa dbg_amd64.msi /dbg_x86.msi paketlərindən quraşdırılması.

Hansı nöqtədə qeyri-müəyyən olaraq qalır, niyə kompüterdə ayıklama vasitələrini quraşdırmalıyam? Çox vaxt, hər şeydən sonra, iş mühitinə müdaxilənin son dərəcə arzuolunmaz olduğu bir vəziyyətlə qarşılaşırsınız! Və daha çox, yeni bir məhsulun quraşdırılmasından, yəni reyestr / sistem fayllarında dəyişiklik etmək tamamilə qəbuledilməz ola bilər. Missiya baxımından kritik serverlər buna misaldır. Nə üçün tərtibatçılar quraşdırma tələb etməyən tətbiqlərin portativ versiyalarını nəzərdən keçirmirlər?
Versiyadan versiyaya, Windows üçün Debugging Tools paketinin quraşdırılması prosesi bəzi dəyişikliklərə məruz qalır. İndi birbaşa quraşdırma prosesinə keçək və alət dəstinin quraşdırılması yollarına baxaq.

Veb Quraşdırıcıdan istifadə edərək Windows üçün Sazlama Alətlərinin Quraşdırılması

Windows SDK Arxivi səhifəsinə keçin və "Windows 10 SDK (10586) və Microsoft Windows 10 Mobil Cihaz Emulatoru (versiya 10586.11)" elementinin altında və Windows 10 adlı bölməni tapın.

Bir elementə klikləyin SDK QURAŞDIRMAQ. Kliklədikdən sonra Windows SDK-nın onlayn quraşdırılması prosesini başlatan sdksetup.exe faylını yükləyin və işə salın. İlkin mərhələdə quraşdırıcı .NET Framework paketinin sistemdə quraşdırılıb-quraşdırılmadığını yoxlayacaq son versiya(hazırda 4,5-dir). Paket yoxdursa, quraşdırma təklif olunacaq və bitdikdən sonra stansiya yenidən işə salınacaq. Yenidən başladıqdan dərhal sonra, istifadəçi icazəsi mərhələsində quraşdırma prosesi birbaşa Windows SDK ilə başlayır.

Çox vaxt paketin bütün komponentlərini istisnasız seçərkən quraşdırma prosesində səhvlər baş verə bilər. Bu halda, komponentləri seçici şəkildə quraşdırmaq tövsiyə olunur, minimum tələb olunan dəsti.

Üçün Hata Ayıklama Alətləri quraşdırıldıqdan sonra Windows yeri faylları aradan qaldırdıqda bu üsul quraşdırmamız aşağıdakı kimi olacaq:

  • 64-bit versiyalar: C:\Proqram Faylları (x86)\Windows Kitləri\x.x\Debuggers\x64
  • 32-bit versiyalar: C:\Proqram Faylları (x86)\Windows Kitləri\x.x\Debuggers\x86

* burada x.x inkişaf dəstinin xüsusi versiyasıdır;
8 və daha yüksək versiyalarda quraşdırma yollarının hər kəs üçün klassik olanlardan nəzərəçarpacaq dərəcədə fərqli olduğunu gördük əvvəlki versiyalar ayıklama vasitələri?

Böyük bir artı bu üsul Windows üçün Sazlama Alətlərinin quraşdırılması bir anda bütün arxitekturalar üçün sazlama alətlərinin versiyalarını quraşdırmaqdır.

Windows SDK ISO-dan Windows üçün Sazlama Alətlərinin quraşdırılması

Bu üsul tam Windows SDK (Software Developers Kit) quraşdırma təsvirindən istifadə edərək Windows üçün Sazlama Alətlərinin quraşdırılmasını əhatə edir. Müəyyən vaxta qədər yükləyin iso şəkil müvafiq sistem üçün Windows SDK Arxiv səhifəsinə daxil ola bilərsiniz. Bununla belə, hazırda sdksetup.exe veb quraşdırıcısını işə salmaqla və elementi seçməklə SDK-nın ISO görüntüsünü əldə edə bilərsiniz. Windows Software Development Kit-i yükləyin quraşdırıcının başlanğıc pəncərəsində:

Məlum olduğu kimi, veb quraşdırıcıdan istifadə edərək əvvəlki quraşdırma metodu olduqca şıltaqdır və tez-tez uğursuz olur. Təmiz sistemlərdə problemsiz quraşdırılır, lakin kifayət qədər yüklənmiş sistemlərdə çoxsaylı problemlər yaranır. Əgər bu sizin üçün belədirsə, bu üsuldan istifadə edin.

Müvafiq olaraq, səhifədə tələb olunan paylama dəstini seçməlisiniz, mənim üçün (və çoxları üçün düşünürəm) hazırda " Windows paketi Windows 7 və .NET Framework 4 üçün SDK" seçin və aşağıdakı "DVD ISO şəklini əldə edin" linkinə klikləyin.

msdn.microsoft.com saytı ilə işləyərkən istifadə etməyi məsləhət görürəm İnternet brauzeri Rəqabət edən məhsulların işləməyəcəyi görüldüyü üçün Explorer!

Buna görə, yalnız lazım olduqda seçmək lazımdır. Adətən Windows üçün Sazlama Alətlərinin bitliyi sistemin bitliyi ilə eynidir. Mənim test sistemlərim əsasən 64-bitdir, buna görə də əksər hallarda 64-bit sistem GRMSDKX_EN_DVD.iso üçün şəkli yükləyirəm.
Sonra, şəkli yüklədikdən sonra, mövcud ISO görüntüsü ilə bir şəkildə işləməliyik. Ənənəvi üsul, əlbəttə ki, CD-nin yandırılmasıdır, lakin bu, kifayət qədər uzun və bəzən bahalı bir üsuldur. istifadə etməyi təklif edirəm pulsuz kommunal xidmətlər sistemdə virtual disk qurğuları yaratmaq. Şəxsən mən bu məqsədlə DEAMON Tools Lite proqramından istifadə etməyi üstün tuturam. Kiminsə zövqü və rəngi baxımından başqa üstünlükləri, daha birbaşa və ya yüngül utilitləri ola bilər, necə deyərlər .. DAEMON Tools Lite quraşdırdıqdan sonra mən sadəcə olaraq GRMSDKX_EN_DVD.iso şəkil faylına iki dəfə klik edirəm və mənim yeni virtual CD-m var:

Sonra, iki dəfə klikləməklə, avtomatik yükləməni aktivləşdirirəm və Windows SDK-nın quraşdırılmasına başlayıram:

Siyahıdan quraşdırılacaq komponentləri seçmək növbəsi gəldikdə, ekran görüntüsündə qeyd olunanlardan başqa bütün variantları tamamilə söndürürük. Bu, bizə indi lazımsız səhvlərdən qaçmağa kömək edəcək.


Düzdür, ekran görüntüsü iki variantı göstərir: "Windows Performans Alətlər dəsti" və "Windows üçün Debugging Tools". Hər ikisini seçin, çünki Windows Performans Alətlər dəsti işinizdə mütləq faydalı olacaq! Bundan əlavə, "Növbəti" düyməsini basdıqdan sonra quraşdırma normal rejimdə davam edir. Və sonunda "Quraşdırma tamamlandı" yazısını görəcəksiniz.
Quraşdırma başa çatdıqdan sonra Windows üçün Sazlama Alətləri dəstinin işçi kataloqları aşağıdakı kimi olacaq:

  • x86 versiyası üçün:
  • x64 versiyası üçün:

Bu, Windows üçün Sazlama Alətlərinin quraşdırılmasını tamamlayır.

.msi faylı vasitəsilə Windows üçün Sazlama Alətlərinin quraşdırılması

Windows üçün Sazlama Alətlərini iki ilə quraşdırmaqda problemlərlə qarşılaşsanız əvvəlki üsullar, bizdə hələ də ehtiyatda daha bir var, ən etibarlı və zamanla sınaqdan keçirilmiş, belə desək, bir dəfədən çox kömək etdi. Bir dəfə, Windows SDK-ya inteqrasiya olunmazdan əvvəl, Windows üçün Debugging Tools hələ də tapıla bilən, lakin artıq Windows SDK paylanmasının bağırsaqlarında olan ayrıca .msi quraşdırıcısı kimi mövcud idi. Çünki bizdə artıq var Windows ISO SDK, onda biz onu sistemə quraşdıra bilmərik, sadəcə olaraq artıq tanınmış proqramların köməyi ilə açırıq. WinRAR arxivi, quyu və ya ISO disklərinin məzmunu ilə işləyən hər hansı digər məhsul.

Şəkli açdıqdan sonra kökdə yerləşən "Setup" qovluğuna getməliyik və sonra qovluqlardan birini seçməliyik:

  • 64-bit versiyasını quraşdırmaq üçün: \Setup\WinSDKDebuggingTools_amd64 və dbg_amd64.msi faylını bu qovluqdan çıxarın.
  • 32-bit versiyasını quraşdırmaq üçün: \Setup\WinSDKDebuggingTools və dbg_x86.msi faylını bu qovluqdan çıxarın.

Quraşdırma başa çatdıqdan sonra Windows üçün Sazlama Alətləri dəstinin işçi kataloqları aşağıdakı kimi olacaq:

  • x86 versiyası üçün: C:\Proqram Faylları (x86)\Windows üçün Debugging Tools (x86)
  • x64 versiyası üçün: Windows üçün C:\Program Files\Debugging Tools (x64)

Bu nöqtədə Windows üçün Sazlama Alətlərinin quraşdırılması başa çatmış hesab edilə bilər.

əlavə informasiya

Bunun nə ilə əlaqəli olduğunu bilmirəm, bəlkə də mənim diqqətsizliyimlə bağlıdır, lakin Windows üçün Debugging Tools-u quraşdırdıqdan sonra quraşdırıcı Path sistem yolu dəyişənində sazlayıcı ilə qovluğa gedən yolu təyin etmir. Bu, birbaşa konsoldan müxtəlif sazlama tapşırıqlarının icrasına müəyyən məhdudiyyətlər qoyur. Ona görə də yol olmadığı halda özüm pəncərədə yazıram Ətraf Mühit Dəyişənləri sazlama alətlərinə gedən yol:

  • C:\Proqram Faylları (x86)\Windows Kitləri\10\Debuggers\x86
  • C:\Proqram Faylları (x86)\Windows Kitləri\10\Debuggers\x64

* Sizin vəziyyətinizdə, yollar həm fərqli bit dərinlikli OS-nin istifadəsinə görə, həm də fərqli ola bilər. SDK istifadəsi digər versiya.

Windows üçün Debugging Tools paketinin utilitləri portativ proqramlar kimi işləyə bilər, sadəcə olaraq buradan kopyalayın iş sistemi kataloq Microsoft Windows Performans Alətlər dəsti və istehsal serverində portativ versiya kimi istifadə edin. Ancaq sistemin tutumunu nəzərə almağı unutmayın !! Paketin kritik bir sistemdə tam quraşdırılmasını etsəniz belə, quraşdırmadan dərhal sonra işə başlaya bilərsiniz, yenidən yükləmə tələb olunmur.

Windows üçün sazlama alətləri

İndi, nəhayət, Windows üçün Debugging Tools tərkibi:

Fayl Məqsəd
adplus.doc ADPlus yardım proqramı üçün sənədlər.
adplus.exe Bir və ya bir neçə proses üçün zibillər, log faylları yaratmaq üçün cdb sazlayıcısının işini avtomatlaşdıran konsol proqramı.
agestore.exe Simvol serveri və ya mənbə serveri tərəfindən istifadə edilən yaddaşdan köhnəlmiş faylları silmək üçün yardım proqramı.
breakin.exe CTRL+C düymələrini basmağa bənzər, proseslərə fərdi fasilə kombinasiyası göndərməyə imkan verən yardım proqramı.
cdb.exe İstifadəçi rejimi konsolu sazlayıcı.
convertstore.exe Simvolları 2 səviyyəlidən 3 səviyyəliyə çevirmək üçün köməkçi proqram.
dbengprx.exe Uzaqdan sazlama üçün Ripiter (proksi server).
dbgpc.exe RPC çağırışının statusu haqqında məlumatı göstərmək üçün köməkçi proqram.
dbgsrv.exe Uzaqdan sazlama üçün istifadə edilən server prosesi.
dbh.exe Simvol faylının məzmunu haqqında məlumatı göstərmək üçün köməkçi proqram.
dumpchk.exe Dump doğrulama yardım proqramı. üçün kommunal sürətli yoxlama dump faylı.
dumpexam.exe Yaddaş boşluğunu təhlil etmək üçün bir yardım proqramı. Nəticə %SystemRoot%\MEMORY.TXT faylına çıxarılır.
gflags.exe Qlobal sistem bayraqlarının redaktoru. Utilit qeyd defteri açarlarını və digər parametrləri idarə edir.
i386kd.exe Kd üçün sarğı. Bir dəfə sistemlər üçün kd adlanırdı Windows bazası x86 maşınları üçün NT/2000? Yəqin ki, uyğunluq səbəbi ilə ayrılıb.
ia64kd.exe Kd üçün sarğı. Bir vaxtlar ia64 maşınları üçün Windows NT/2000 əsaslı sistemlər üçün kd belə adlanırdı? Yəqin ki, uyğunluq səbəbi ilə ayrılıb.
kd.exe Kernel-rejim konsolu sazlayıcı.
kdbgctrl.exe Kernel debug idarəetmə aləti. Kernel ayıklama bağlantısını idarə etmək və konfiqurasiya etmək üçün köməkçi proqram.
kdsrv.exe KD üçün əlaqə serveri. Utilit, uzaqdan bağlantılar üçün işləyən və gözləyən kiçik bir proqramdır. kd müştəri üzərində işləyir və uzaqdan sazlama üçün həmin serverə qoşulur. Həm server, həm də müştəri eyni Sazlama Alətləri montajından olmalıdır.
kill.exe Prosesləri bitirmək üçün faydalıdır.
list.exe Faylın məzmununu ekranda göstərmək üçün köməkçi proqram. Bu miniatür yardım proqramı bir məqsədlə yığılmışdı - böyük mətn və ya jurnal fayllarına baxmaq. Mətni hissə-hissə yüklədiyi üçün yaddaşda az yer tutur.
logger.exe Yalnız bir proseslə işləyə bilən kiçik sazlayıcı. Utilit logexts.dll faylını bütün funksiya çağırışlarını və yoxlanılan proqramın digər hərəkətlərini qeyd edən proses sahəsinə yeridir.
logviewer.exe Logger.exe debugger tərəfindən yazılmış qeydlərə baxmaq üçün köməkçi proqram.
ntsd.exe Microsoft NT Simvolik Debugger (NTSD). Başlanğıcda mətn pəncərəsi yaratması istisna olmaqla, cdb ilə eyni olan sazlayıcı. CDb kimi, ntsd həm konsol proqramlarını, həm də qrafik proqramları düzəltməyə qadirdir.
pdbcopy.exe Simvol faylından şəxsi simvolları silmək, simvol faylına daxil edilmiş ictimai simvolları idarə etmək üçün yardım proqramı.
remote.exe Uzaqdan sazlama üçün yardım proqramı və uzaqdan nəzarət hər hansı bir konsol debugger KD, CDB və NTSD. Bütün bu konsol sazlayıcılarını uzaqdan işə salmağa imkan verir.
rtlist.exe Uzaqdan Task Viewer. Kommunal siyahı göstərmək üçün istifadə olunur işləyən proseslər DbgSrv server prosesi vasitəsilə.
symchk.exe Microsoft simvol serverindən simvolları endirmək və yerli simvol keşini yaratmaq üçün yardım proqramı.
symstore.exe Şəbəkə yaratmaq üçün köməkçi proqram və ya yerli saxlama simvollar (2 səviyyəli/3 səviyyəli). Simvol anbarı diskdə müəyyən bir quruluşa uyğun qurulmuş və simvolları ehtiva edən ixtisaslaşmış bir kataloqdur. Simvolların kök kataloqunda komponentlərin adları ilə eyni adlarla alt qovluq strukturu yaradılır. Öz növbəsində, bu alt qovluqların hər birində hashing yolu ilə əldə edilən xüsusi adları olan iç-içə alt qovluqlar var ikili fayllar. Symstore yardım proqramı komponent qovluqlarını skan edir və hər hansı bir müştərinin onları əldə edə biləcəyi simvol anbarına yeni komponentlər əlavə edir. Symstore-un 0 səviyyəli yaddaşdan simvollar əldə etmək və onları 2 səviyyəli/3 səviyyəli yaddaşa yerləşdirmək üçün istifadə edildiyi deyilir.
tlist.exe Tapşırıq Baxıcısı. Bütün çalışan prosesləri siyahıya salmaq üçün bir yardım proqramı.
umdh.exe İstifadəçi rejimli dump yığın yardım proqramı. Seçilmiş prosesin yığınlarını təhlil etmək üçün bir yardım proqramı. Yığın üçün müxtəlif variantları göstərməyə imkan verir.
usbview.exe USB görüntüləyici. baxmaq üçün faydalıdır USB cihazları kompüterə qoşulmuşdur.
vmdemux.exe Demultipleksator virtual maşın. Tək bir COM bağlantısı üçün çoxlu adlandırılmış borular yaradır. Kanallar virtual maşının müxtəlif komponentlərini sazlamaq üçün istifadə olunur
windbg.exe GUI ilə istifadəçi rejimi və nüvə rejimi sazlayıcısı.

debug.exeİcra oluna bilən faylları yoxlamaq və sazlamaq üçün istifadə olunan sazlama proqramı.

Əməliyyat sistemi ilə istifadə olunur MS-DOS . Əməliyyat sistemlərinin sonrakı versiyaları üçün

emulyator vasitəsilə işləyir MS-DOS və var məhdud imkanlar. Komanda xətti ilə çağırılır

DEBUG [[sürücü:][yol]fayl adı [seçimlər]].

Məsələn: DEBUG C:\...\My.com

Bu proqram konsol proqramıdır və kod faylları yaratmaq və ya dəyişdirmək üçün nəzərdə tutulmuşdur. Onunla siz yarada bilərsiniz sadə tətbiq altında MS-DOS və işlərini izləyin. Bu sazlayıcı kompilyatorların ən aşağı səviyyəsindədir montajçı. Ancaq yaddaşa baxmaq və dəyişmək, registrlərin vəziyyətini almaq kimi yaxşı xüsusiyyətlərə malikdir.

debug.exe əmrləri

debug.exe əmr dəsti qaydaları:

· Debug.exe hərflərə həssas deyil.

· Komandalardakı boşluqlar yalnız parametrləri ayırmaq üçün istifadə olunur.

· Daxil edilmiş ədədlər onaltılıq say sistemində və son h hərfi olmadan olmalıdır.

· Seqment və ofset iki nöqtədən istifadə etməklə yazılır, seqment:ofset formatında, məsələn, CS:3C1 (kod seqmentində 3C1h ofset) və ya 40:17 (başlanğıc ünvanı 40h olan seqmentdə 17h ofset).

Sazlayıcı yüklədikdən sonra ekranda tire kimi görünən bir sorğu görünəcək. Qeydiyyatlar CS, D.S., ES, SS bu nöqtədə 256 baytlıq proqram seqmentinin prefiksinin ünvanı ilə işə salınır və yaddaşdakı iş sahəsi bu prefiksin + 100h ünvanından başlayacaq. Komandalar debug.exe kursorla qeyd olunan yerə dəvətdən dərhal sonra daxil edilir. Hər bir əmr identifikator və parametrlərdən, identifikator bir hərfdən ibarətdir.

Cədvəl 1. Bütün debug.exe əmrlərinin xülasə cədvəli

Komanda Təsvir Format
A (Məclis) assembler komandalarının maşın koduna tərcüməsi; standart ünvan CS:0100h-dir. A[<адрес_начала_кода>]
C (müqayisə et) İki yaddaş sahəsinin məzmununun müqayisəsi; standart DS-dir. Əmr ya bölmələrin uzunluğunu, ya da bir sıra ünvanları təyin edir. C<начальный_адрес_1>L<длина> <начальный_адрес_2>C<начальный_адрес_1> <конечный_адрес_1> <начальный_адрес_2>
D (Ekran/Dimp) Onaltılıq və ASCII formatlarında yaddaş sahəsinin məzmununu göstərir. Standart DS-dir; uzunluq və ya diapazon müəyyən edilə bilər. D[<начальный_адрес>] D [başlanğıc_ünvanı son_ünvanı]
E (Daxil edin) Məlumatların və ya maşın kodu təlimatlarının yaddaşa daxil edilməsi; standart DS-dir. E[<адрес> [<инструкции/данные>]]
F (Doldur) Yaddaş sahəsinin siyahıdan verilənlərlə doldurulması; standart DS-dir. Həm uzunluqdan, həm də diapazondan istifadə edə bilərsiniz. F<начальный_адрес_1>L<длина> "<данные>"F<начальный_адрес> <конечный_адрес> "<данные>"
G (Get) Sazlanmış maşın dili proqramını müəyyən edilmiş kəsilmə nöqtəsinə qədər işə salın; standart CS-dir. Bunu edərkən, IP-nin düzgün ünvanı ehtiva etdiyinə əmin olun. G[=<начальный_адрес>] <адрес_останова> [<адрес_останова> ...]
H (onaltılıq) İki onaltılıq dəyərin cəmini və fərqini hesablayın. H<величина_1> <величина_2>
I (Giriş) Bir portdan bir baytı oxuyun və çıxarın. I<адрес_порта>
L (Yük) Faylın və ya məlumatın disk sektorlarından yaddaşa yüklənməsi; standart CS:100h-dir. Fayl N əmri və ya debug.exe proqramını işləyərkən arqumentlə müəyyən edilə bilər. L[<адрес_в_памяти_для_загрузки>]L[<адрес_в_памяти_для_загрузки> [<номер_диска> <начальный_сектор> <количество_секторов>]]
M (Hərəkət) Yaddaş hüceyrələrinin məzmununun surətinin çıxarılması; standart DS-dir. Siz həm uzunluq, həm də aralığı təyin edə bilərsiniz. M<начальный_адрес>L<длина> <адрес_назначения>M<начальный_адрес> <конечный_адрес> <адрес_назначения>
N (Ad) L və W əmrləri üçün fayl adının təyin edilməsi. N<имя_файла>
O (Çıxış) Bir baytın porta göndərilməsi. O<адрес_порта> <байт>
P (Davam et) Növbəti təlimata keçərək CALL, LOOP, INT və ya REPnn prefiksləri ilə təkrar sətirli təlimatı yerinə yetirin. P[=<адрес_начала>] [<количество_инструкций>]
Q (çıxın) debug.exe faylı bağlanır. Q
R (Qeydiyyatdan keçin) Reyestrlərin məzmununun və növbəti təlimatın çıxarılması. R<имя_регистра>
S (axtarış) Siyahıdakı simvolları yaddaşda axtarın; standart DS-dir. Siz həm uzunluq, həm də aralığı təyin edə bilərsiniz. S<начальный_адрес>L<длина> "<данные>“S<начальный_адрес> <конечный_адрес> "<данные>"
T (iz) Proqramın addım-addım icrası. P əmrində olduğu kimi, standart cüt CS:IP-dir. Qeyd edim ki, fasilələri yerinə yetirmək üçün P əmrindən istifadə etmək daha yaxşıdır. T[=<адрес_начала>] [<количество_выполняемых_команд>]
U (yığdır) Maşın kodunun sökülməsi; standart CS:IP cütüdür. Təəssüf ki, debug.exe 80286+ prosessorları üçün xüsusi təlimatları düzgün şəkildə sökmür, baxmayaraq ki, onlar hələ də düzgün yerinə yetirilir. sən[<начальный_адрес>]U[<начальный_адрес конечный_адрес>]
W (Yaz) debug.exe-dən faylın yazılması; faylın adını N əmri ilə göstərməlisiniz, əgər yüklənməyibsə. Və proqramlar yalnız .COM faylları kimi qeyd olunur! W[<адрес> [<номер_диска> <начальный_сектор> <количество_секторов>]]


Yaddaş Sahələrinə Baxış

Komandanın işinə daha yaxından nəzər salaq D, yaddaşın ayrı-ayrı sahələrinin məzmununa baxmaq imkanı verir. Bu nümunə əmrdən istifadə edir D 0159:0240-dan başlayan yaddaş sahəsinə baxmaq üçün:

Burada yaddaş sahəsinə baxmaq sorğusuna cavab olaraq seçilmiş yaddaş sahəsinin məzmununu göstərən səkkiz sətir aldıq. Hər bir xətt üç hissədən ibarətdir:

Formatda göstərilən ilk sol baytın ünvanı seqment:ofset.

· Sətirin əvvəlində göstərilən baytla başlayan paraqrafın (16 bayt) onaltılıq təsviri.

· ASCII formatında eyni paraqrafın simvolları.

Sətirdə göstərilən ünvan yalnız paraqrafdakı birinci bayta aiddir və sonrakı baytların ünvanları müstəqil olaraq hesablanmalıdır. Hexadecimal təmsil hər baytda iki simvoldan ibarətdir və baytların özləri oxumaq asanlığı üçün boşluqlarla ayrılır. Əlavə olaraq qeyd etmək lazımdır ki, səkkizinci və doqquzuncu baytlar tire ilə ayrılır və beləliklə abzas iki hissəyə bölünür və abzasdakı baytların ünvanlarının hesablanması asanlaşır.

D komandası ilə faydalı fəndlər

Paralel və Serial Portların yoxlanılması

BIOS məlumat sahəsinin ilk 16 baytı paralel və ardıcıl portların ünvanlarını ehtiva edir. Beləliklə, bu portları aşağıdakı əmrlə yoxlaya bilərsiniz:

Çap edilmiş ilk səkkiz bayt serial portların ünvanlarını göstərir. COM1-COM4. Növbəti 8 bayt paralel portların ünvanlarını göstərir. LPT1-LPT4. Məsələn, əgər kompüterinizdə bir paralel port varsa, onda ilk iki bayt çox güman ki, olacaq: 7803. Port ünvanı tərs qaydada yazılır, yəni. 0378.

Avadanlıq yoxlanışı

BIOS-da 410h ünvanında yerləşən ilk iki bayt sistemdə quraşdırılmış avadanlıq haqqında məlumatı ehtiva edir. Bu baytları əmrlə tapırıq:

İlk iki baytın 23 44 olduğunu fərz edək. Haqqında məlumat əldə etmək üçün bu baytları deşifrə edək. quraşdırılmış cihazlar. Bunun üçün biz bu baytları çeviririk (44 23), sonra onları tərcümə edirik ikili sistem hesablama. Biz əldə edirik:

Bit dəyəri
Bit mövqeyi

Bu bitlər nə deməkdir? Şifrəni açmağa davam edirik:

Klaviatura reyestrinin vəziyyətinin yoxlanılması

Məlumat sahəsində BIOSünvana görə 417 saat klaviatura registrinin vəziyyətini saxlayan ilk baytdır. Söndür Num Lockqapaq kilidi , sonra əmri yazırıq:

Birinci bayt 00 olacaq. Daxil etməklə Num Lockqapaq kilidi, əmri yenidən işə salın. İndi birinci bayt 60-a bərabər olmalıdır. Eksperimental olaraq müəyyən edilmişdir ki, nə vaxt Num Lock ilk bayt 20 və nə vaxtdır qapaq kilidi - 40.

Video sisteminin vəziyyətinin yoxlanılması

Ünvan üzrə 449 saat V BIOS ilk video məlumat sahəsi yerləşir. Yoxlamaq üçün yazırıq:

Birinci bayt cari video rejimini (məsələn, 03 - rəng), ikincisi isə sütunların sayını (məsələn, 50 - 80 sütunlu rejim) göstərir. Xətlərin sayını burada tapa bilərsiniz 484 saat (40:84).

BIOS müəllif hüquqlarının və seriya nömrəsinin yoxlanılması

üçün müəllif hüquqları məlumatı BIOS içərisinə tikilmişdir ROM BIOSünvana görə FE00:0. Müəllif hüququ sətrini ASCII ardıcıllığında asanlıqla tapmaq olar və seriya nömrəsi- hexadecimal ədəd kimi. Baxmayaraq ki, müəllif hüququ xətti uzun ola bilər və yaddaşın çıxış sahəsinə uyğun gəlmir. Bu halda, sadəcə yenidən daxil olmaq lazımdır D.

BIOS İstehsal Tarixi Yoxlanışı

Bu tarix də qeyd olunur ROM BIOSünvanından başlayaraq FFFF: 5. Müvafiq əmri yerinə yetirdikdən sonra bu tarix formatda yazılan ASCII ardıcıllığında olacaq mm/gg/yy.

Debug.exe ilə proqramın birbaşa yaddaşa salınması

debug.exe proqramı birbaşa maşının yaddaşına daxil etməyə, sonra isə onun icrasına nəzarət etməyə və nəzarət etməyə imkan verir. Komandadan istifadə edərək proqramı maşın kodlarına daxil edəcəyik E. Eyni zamanda diqqətli olun yanlış ünvanda səhv məlumatların daxil edilməsi gözlənilməz nəticələrlə doludur! Bunun sistemdə ciddi problemlərə səbəb olma ehtimalı az olsa da, daxil edilmiş bütün məlumatların itirilməsi debug.exe, asanlıqla edə bilərsiniz. Daxil ediləcək proqram birbaşa təlimatların gövdəsinə daxil edilmiş məlumatlardan istifadə edir. Aşağıda assemblerdə proqramın siyahısı verilmişdir, şərhlər maşın kodlarındakı dil əmrlərinin analoqlarını, həmçinin hər bir əmrin izahını göstərir. Qeyd edək ki, rəqəmlərdə heç bir simvol yoxdur hçünki yuxarıda qeyd edildiyi kimi debug.exe yalnız onaltılıq ədədləri başa düşür.

MOV AX, 0123; kodu B82301: AX-də 0123h dəyərini daxil edirik

AX, 0025 əlavə edin; kod 052500: AX dəyərinə 0225h əlavə edin

MOV BX, AXE; kod 8BD8: biz BX-də AX dəyərini daxil edirik

BX, AXA əlavə edin; kod 03D8: BX-ə AX dəyəri əlavə edin

MOV CX, BX; kod 8BCB: biz CX-də BX dəyərini daxil edirik

SUB CX, AX ; kod 2BC8: CX-dən AX dəyərini çıxarın

SUB AX, AX; kod 2BC0: təmiz AX

JMP 100; EBEE kodu: proqramın əvvəlinə keçin

Gördüyünüz kimi, hər bir maşın təlimatı 1 ilə 3 bayt uzunluğundadır. Birinci bayt əməliyyatı, sonrakı bayt onun operandlarını təyin edir. Proqramın icrası birinci təlimatdan başlayır və bütün təlimatları bir-bir keçir. İndi proqramı yaddaşa daxil edə bilərsiniz. Maşın kodunu altı baytdan ibarət üç hissəyə bölürük və hər birini əmrdən istifadə edərək daxil edirik E və ünvandan başlayaraq CS: 100.

İndi proqram yaddaşdadır, onun icrasına nəzarət etməyə çalışaq. Əvvəlcə yoxlayaq Hazırki vəziyyət registrlər və bayraqlar, bunun üçün əmr daxil edirik R. Sazlayıcı registrlərin məzmununu onaltılıq sistemdə çap edəcək; müxtəlif maşınlarda registrlərin məzmunu fərqli ola bilər.

Beləliklə, gördüyünüz kimi, debug.exe başlanğıc seqmentlər D.S., ES, SS, CS eyni ünvan. Qeydiyyatdan keçin IP ehtiva edir 0100 , göstərişlərin ofsetdən yerinə yetirildiyini göstərir 100 saat nisbətən CS(və biz təlimatları yaddaşa daxil edərək, sadəcə bu ünvanı göstərdik).

Daşma, istiqamət, kəsmə, işarə, sıfır, əlavə daşıma, paritet və daşıma bayraqlarının dəyərləri də burada göstərilir:

Qeydlər və bayraqlar göstərildikdən sonra debug.exe yerinə yetiriləcək ilk təlimat haqqında məlumat verir:

· Təlimatın ünvanı, bizim vəziyyətimizdə 0B12:0100-dir, burada 0B12 kod seqmentinin ünvanıdır.

· Bu təlimata uyğun gələn maşın kodu (B82301).

· Assemblerdə yazılmış təlimatın özü (MOV AX,0123).

İndi registrlərin və bayraqların məzmununu təhlil etdikdən sonra proqramın icrasına keçək. Komandadan istifadə edərək proqramı addım-addım icra edəcəyik T. Komandadan ilk dəfə istifadə T, göstərişi yerinə yetiririk MOV. Burada təlimatın operandının maşın kodudur 2301 . Əməliyyat yerləri 23 V AL(kiçik yarım AX), A 01 - V AH(yaşlı). Ondan sonra debug.exe reyestr məlumatını yenidən çap edir:

İndi AX ehtiva edir 0123h, IP0103h(buna görə icra olunan təlimatın uzunluğu: 0103h - 0100h = 3 bayt) və növbəti təlimat əməliyyatdır ƏLAVƏ EDİN. Beləliklə, əmri təkrar-təkrar yerinə yetirmək T, son təlimata çatacağıq JMP 100. O, reyestri təyin edəcək IP V 100 saat, Və debug.exe proqramın əvvəlinə qayıdacaq. Proqramın əvvəlinə qayıdaraq qeyd edək ki, in D.S., ES, SSCS eyni ünvanı ehtiva edir. Fakt budur ki debug.exe daxil edilmiş proqramları yalnız proqramlar kimi qəbul edir .COM. Və proqramlarda .COM, Fərqli .EXE, yığın, kod və məlumatlar eyni seqmentdə saxlanılır.

Quraşdırma və sökmə

Əvvəlki nümunədə proqramı maşın kodlarına daxil etdik, lakin debug.exe assemblerdə yazılmış təlimatları başa düşmək qabiliyyətinə malikdir. Bu cür proqramlarla işləmək üçün debug.exeəmrlərdən istifadə olunur AU.

Komanda A montaj dili təlimatlarını tələb edir və onları maşın koduna çevirir. Əvvəlcə təlimatları daxil etmək üçün başlanğıc ünvanını işə salırıq (100 saat):

Sazlayıcı kod seqmentinin və ofsetin ünvanını çıxaracaq (məsələn, 13F2:0100). İndi girməliyik təlimatlara əməl edin assemblerdə yaddaşa, hər sətirdən sonra basaraq Daxil edin:

Son təlimatı daxil etdikdən sonra basın Daxil edin iki dəfə sazlayıcıya proqramı yazmağı bitirdiyimizi bildirmək üçün. İndi proqram əmrləri istifadə edərək işlədilə bilər R registrlərə baxmaq və T izləmək üçün. Qeyd edim ki, proqramlarımda göstəriş varsa INTəmri ilə emal edilməməlidir T, və komanda P, bütün fasilələri bir anda idarə edir.

Sökülmə proseduruna keçək və nümunə olaraq yeni daxil etdiyimiz proqramı götürək. Sökəcəyimiz aralığı göstərmək üçün ilk və son təlimatların ünvanlarından istifadə edirik, yəni. 100 saat107 saat.

Bu əmri yerinə yetirdikdən sonra debug.exe təlimatları göstərilən diapazonda, assemblerdə, maşın kodunda, həmçinin hər bir təlimatın ünvanını çap edəcək:

Proqramın diskdə saxlanması

Əvvəlcə faylın adı verilir:

Sonra qeydiyyatdan keçin CX proqramın ölçüsünü baytla qeyd etmək lazımdır. Bu, son və ilkin ofsetlər arasındakı fərqə bərabər olacaq. İndi yalnız komanda ilə diskə yazmaq qalır W və nəticədə yazılan baytların sayına baxın. Nəticədə icraya hazır bir proqram əldə edirik.

Çıxış komanda tərəfindən həyata keçirilir q. Misal:

0B3B:0100 mov ax,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=0000 BX=0000 CX=0007 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

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

0B3B:0100 B83412 MOV AX,1234

00007 bayt yazın

Bunu yerinə yetirmək üçün laboratoriya işi Bir neçə assembler əmrinə ehtiyacınız olacaq:

hərəkət,<шестнадцатиричное число>- qeydiyyatdan keçmək AH nömrələri 02 sistem funksiyasını təyin etmək - ekranda simvol göstərmək;

MOVDL,<шестнадцатиричное число>- qeydiyyatdan keçmək DL simvol kodu;

INT 21 - çoxunu həyata keçirən əsas DOS kəsmə (prosedur). müxtəlif funksiyalar; funksiya nömrəsi AH registrində əvvəlcədən yazılır; ekranda simvolu çap etmək üçün - registrdə AH funksiyası 02, içərisində olarkən DL simvol kodunu əvvəlcədən qeyd edin.

INT 20 - proqramdan çıxan DOS kəsilməsi (.COM proqramından).

Misal:

Ekranda "*" simvolunu göstərin.

movAH,02 ; sistem funksiyası 02 - ekranda simvolun göstərilməsi

mov DL,2A ; ASCII ulduz kodu

int 21h; "*" çıxışına kəsin

int 20h; proqramdan çıxın

Praktik tapşırıq

Hədəf

debug.exe sazlayıcısına giriş. Bu proqramla işləmək üçün praktiki bacarıqların əldə edilməsi.

Avadanlıq:

Şəxsi kompüter tərəfindən idarə olunur əməliyyat sistemi Windows.

Proqram təminatı:

Debug proqramı.

Qəbul üçün suallar

1. Debug proqramının məqsədi nədir?

2. Bu proqramı necə işlətmək olar?

3. Debug-a əmrlər necə daxil edilir?

4. İdentifikator nədir?

5. Proqram Debug-a necə daxil edilir?

Məşq edin

· Nəzəri materialı öyrənmək.

· Mətndə təsvir olunan əmrləri yerinə yetirin.

2 ədədin cəmini və fərqini tapın: 1-ci nömrə qrupdakı rəqəmdir (onaltılıq formaya tərcümə olunur), 2-ci əlifbada soyadın ilk hərfinin nömrəsinin əksinə olan rəqəmdir (mənfi rəqəm). əlavə kod). Cəmi və fərqi ondalığa çevirin.

· Mikroprosessor registrlərinin, eləcə də bayraqların məzmununa baxmaq və onları protokola yazmaq. Hər registr hansı funksiyanı yerinə yetirir? .

· Birinci nömrəni (3-cü tapşırıqdan) AX registrinə, ikinci nömrəni (3-cü tapşırıqdan) BX registrinə yazın. Daxil edin ram kod seqmentinə (ofset 100) AX və BX registrlərinin əlavə edilməsi üçün maşın təlimatı. Ekranda onun assembler formasına baxın. Bu əmri yerinə yetirin, nəticəni onluq formaya çevirin.

· Ekranda simvolu – soyadınızın ilk hərfini çap etmək üçün RAM-a kod seqmentinə (ofset 100) assembler əmrləri dəstini daxil edin. DEBUG-də proqramı yoxlayın. Sonra onu .COM faylı olaraq diskə yazın. Proqramın ölçüsü nədir? DOS-dan icra etmək üçün onu işə salın.

· Hesabatda bütün hərəkətləri təsvir edin.

1. İşin adı.

2. İşin məqsədi.

3. Alətlər və avadanlıqlar.

4. Qısa nəzəri məlumat.

5. Görülən tədbirlərin təsviri.

6. Yaradılmış proqramın mətni.

7. Nəticələr.

Nəzarət sualları

1. Yaddaşa verilənlərin daxil edilməsi və ya maşın kodu təlimatları hansı əmrlə istehsal olunur?

2. İki yaddaş sahəsinin məzmununu necə müqayisə etmək olar?

3. Yaddaş sahəsini siyahıdan verilənlərlə necə doldurmaq olar?

4. Sazlanmış proqramı maşın dilində hansı komanda yerinə yetirir?

5. Debug-dan faylı hansı komanda yazır?

6. Quraşdırma və sökmə necə həyata keçirilir?

Android Debug Bridge (adb) sizə debug etməyə imkan verəcək konsol proqramıdır mobil cihazlar Android-də, eləcə də emulyatorlarda.

Təsvir

Bu yardım proqramı proqramların quraşdırılmasını və sazlanmasını xeyli asanlaşdırır, həmçinin Unix qabığına çıxışı təmin edir. Sonuncu cihazda lazımi əmrləri yerinə yetirmək üçün istifadə edilə bilər. Digər şeylər arasında, proqram debug rejimi aktiv olan bir smartfonun kilidini açmaq üçün istifadə edilə bilər. Bununla belə, qeyd etmək lazımdır ki, Android Debug Bridge istehsalçı tərəfindən lazımi funksionallıq bloklanmadığı təqdirdə istənilən Android cihazını dəstəkləyir.

Proqrama üç komponent daxildir:

  • Müştəri. Tərtibatçının kompüterində işləyir, əmrlər göndərir. Müştəriyə zəng etmək üçün terminalda müvafiq əmrdən istifadə edə bilərsiniz.
  • Daemon (adbd). Cihazda əmrləri yerinə yetirir. -da işləyir fon hər cihazda.
  • Server. Müştəri və demon arasındakı qarşılıqlı əlaqəni idarə edir. İnkişaf maşınında arxa planda işləyir.

ADB xüsusiyyətləri:

  • Qoşulan və dəstəklənən cihazların siyahısına baxın.
  • Qeydlərə baxın.
  • Cihazlar arasında məlumat və faylları köçürün və köçürün.
  • Proqramların quraşdırılması və silinməsi.
  • Məlumat bölməsinin təmizlənməsi və üzərinə yazılması.
  • Həm də daha çox.

Saytımızdan siz Android Debug Bridge-i pulsuz, qeydiyyat və SMS olmadan yükləyə bilərsiniz.

Ekran görüntüləri

Debug.exe proqramını işə salır, MS-DOS-un icra olunan fayllarını yoxlamaq və sazlamaq üçün proqramdır. Parametrlər olmadan əmr icra edildi debug Debug.exe proqramını işə salır və əmr sorğusunu göstərir debug, defis (-) ilə təmsil olunur.


1)
Virtual PC 2007 ilə başlayın Windows yolu xp. ƏS-ni əmr xətti rejiminə keçirin.

Başlat -> Çalıştır -> cmd yazın və Enter düyməsini basın.


2)
Sazlama əmri seçimləri ilə bağlı yardım alın və təhvil verin

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

Bütün əmrlərin qısa siyahısı:

A (yığmaq) - assembler əmrlərinin maşın koduna tərcüməsi. Defolt ünvandır CS: 0100h.

C (müqayisə et) — İki yaddaş sahəsinin məzmununun müqayisəsi. Defoltdur D.S.. Əmr ya bölmələrin uzunluğunu, ya da bir sıra ünvanları təyin edir.

D (zibil) - Yaddaş sahəsinin məzmununu onaltılıq və ASCII formatlarında göstərin. Defoltdur D.S.. Uzunluğu və ya aralığı təyin edə bilərsiniz.

E (daxil edin) - Məlumatların və ya maşın kodu təlimatlarının yaddaşa daxil edilməsi. Defoltdur D.S..

F (doldurmaq) — Yaddaş sahəsinin siyahıdan verilənlərlə doldurulması. Defoltdur D.S.. Həm uzunluqdan, həm də diapazondan istifadə edə bilərsiniz.

G (getmək) - Müəyyən edilmiş kəsilmə nöqtəsinə qədər sazlanmış maşın dili proqramının icrası. Defoltdur D.S.. Bunu edərkən, buna əmin olmalısınız IP etibarlı ünvan ehtiva edir.

H (onaltılıq) - İki onaltılıq dəyərin cəmi və fərqinin hesablanması.

I (giriş) - Portdan bir baytı oxumaq və çıxarmaq.

L(yük) — Disk sektorlarından fayl və ya məlumatın yaddaşa yüklənməsi. . Defolt - CS: 100 saat. Fayl əmri ilə müəyyən edilə bilər N və ya başlanğıcda mübahisə debug.exe.

M (hərəkət) - Yaddaş hüceyrələrinin məzmununun surətinin çıxarılması; default istifadə olunur D.S.

N (ad) - Komandalar üçün fayl adının təyin edilməsi L (YÜKLƏ)W (YAZ).

O(çıxış) — Çıxış portuna bayt göndərilməsi.

P (davam edin) - Təlimatların icrası CALL, LOOP, INT (loop, interrupt, prosedurlar) və ya prefikslərlə təkrarlanan simli təlimat REPnn, növbəti təlimata keçin.

Q (çıxın) - İşin tamamlanması debug.exe. Test faylını saxlamadan.

R (qeydiyyatdan keçin) - Reyestrlərin məzmununu və növbəti təlimatı çıxarın.

S (axtarış) — Siyahıdakı simvolları yaddaşda axtarın. Defoltdur D.S.. Siz həm uzunluq, həm də aralığı təyin edə bilərsiniz.

T (iz) - Proqramın addım-addım icrası. Bir komandada olduğu kimi P, standart cütdür CS:IP. Ancaq fasilələri yerinə yetirmək üçün əmrdən istifadə etmək daha yaxşıdır P.

U (yığma) - Maşın kodunun sökülməsi. Varsayılan olaraq cütdür CS:IP.

w (yazmaq) — Faylın yazılması debug.exe diskə. Komanda ilə fayl adını qeyd etməlisiniz Nəgər yüklənməyibsə.


3)
RAM və ROM-un xarakterik sahələrinin zibillərinin alınması və bərkidilməsi

R əmrini yazaq.

Qeydiyyatlar CS, D.S., ES, SS bu anda işə salındı 256 baytlıq proqram seqmenti prefiksinin ünvanı, və yaddaşdaxili iş sahəsi ilə başlayacaq bu prefiksin ünvanları + 100h.

Komanda dəsti qaydaları:

A) B debug.exe hal fərqlənmir.

B) Komandalarda boşluqlar yalnız parametrləri ayırmaq üçün istifadə olunur.

C) Daxil edilmiş ədədlər onaltılıq say sistemində olmalıdır və olmadan son məktub h.

D) Seqment və ofset iki nöqtədən istifadə etməklə, formatda yazılır seqment:ofset.


4)
Yaddaş sahəsinə baxış.

Komanda D, ayrı-ayrı yaddaş sahələrinin məzmununa baxmaq imkanı verir.
İş üçün mövcud yaddaşın miqdarını yoxlayaq. Bunu etmək üçün daxil edin: d 40:13 və Daxil edin.
Nəticədə ekranda görünən ilk iki bayt yaddaşın ölçüsünü kilobaytlarda və onaltılıq təsvirdə ehtiva edir və baytlar tərs qaydadadır. Bizdə bu var: 8002 0280 640 (K)

  • Formatda göstərilən ilk sol baytın ünvanı seqment:ofset.
  • Sətirin əvvəlində göstərilən baytdan başlayan paraqrafın onaltılıq təsviri (16 bayt).
  • ASCII formatında eyni paraqrafın simvolları.


4)
Paralel və serial portların yoxlanılması.


BIOS məlumat sahəsinin ilk 16 baytı paralel və ardıcıl portların ünvanlarını ehtiva edir. Çap edilmiş ilk səkkiz bayt COM1-COM4 seriya portlarının ünvanlarını göstərir. Növbəti 8 bayt LPT1-LPT4 paralel portlarının ünvanlarını göstərir. Port ünvanı 78 03 - tərs formada yazılmışdır.


5)
Klaviatura reyestrinin vəziyyətinin yoxlanılması.


Məlumat sahəsində BIOSünvana görə 417 saat klaviatura registrinin vəziyyətini saxlayan birinci bayt yerləşir.


6)
BIOS istehsal tarixi yoxlanılır.


üçün müəllif hüquqları məlumatı BIOS içərisinə tikilmişdir ROM BIOSünvana görə FE00:0. Müəllif hüququ olan xətt asanlıqla tapıla bilər ASCII- ardıcıllıqlar və seriya nömrəsi onaltılıq ədəd şəklindədir. Ekranda kompüterin yeddi rəqəmli nömrəsini və müəllif hüququ tarixini görürük. Baxmayaraq ki, müəllif hüququ xətti uzun ola bilər və yaddaşın çıxış sahəsinə uyğun gəlmir. Bu halda, sadəcə yenidən daxil olmaq lazımdır D.

Tarix də qeyd olunur ROM BIOSünvanından başlayaraq FFFF: 5. Müvafiq əmri yerinə yetirdikdən sonra ASCII-ardıcıl olaraq bu tarix formatında yazılacaq mm/gg/yy.


7)
Maşın kodlarının nümunəsi.


Proqramın maşın dilində yaradılmasını, onun yaddaşda təsvirini və icra nəticələrini nəzərdən keçirək. Sazlayıcı əmri A (Məclis) tərcümə edir DEBUG montaj təlimatlarının qəbulu və onların maşın kodlarına çevrilməsi rejiminə.

İndi proqram yaddaşdadır, onun icrasına nəzarət etməyə çalışaq. Əvvəlcə registrlərin və bayraqların cari vəziyyətini yoxlayaq, bunun üçün əmri daxil edirik R.


IP- kod seqmentinə nisbətən yerinə yetiriləcək növbəti təlimatın ünvan-ofsetini ehtiva edən registr CS x86 ailə prosessorlarında.

Qeydiyyatdan keçin IP ilə bağlıdır CS kimi CS:IP, Harada CS cari kod seqmentidir və IP— bu seqmentə nisbətən cari ofset.

Qeydiyyatdan keçin IP 16 bitlik göstərici registridir. Bundan əlavə, bu tip registrlər daxildir SP (yığın göstəricisi- yığın göstəricisi) və BP (Əsas göstərici- əsas göstərici).

Səsyazma CXuğurla keçdi və 8-ə bərabərdir. Seqmentlər işə salınıb D.S., ES, SS, CS eyni ünvan. Qeydiyyatdan keçin IP ehtiva edir 0100 , göstərişlərin 100 saat məsafədə yerinə yetirildiyini göstərir CS (biz onunla başladıq).

Məna

Təsvir

Daşma yoxdur

Yuxarı və ya sağa istiqamət

Kesintiləri aktivləşdirin

müsbət əlamət

sıfırdan fərqli dəyər

Əlavə köçürmə yoxdur

qəribə söz

0 B16 - kod seqmentinin ünvanı.
  • Bu təlimata uyğun gələn maşın kodu ( B025).
  • Assemblerdə yazılmış təlimatın özü ( MOV A L,25 ).

  • 8)
    Sazlama əmri U (Unassemble) assembler əmrləri üçün maşın kodlarını göstərir.


    Gəlin icra edək. Sazlayıcıya baxılmalı olan ilk və sonuncu əmrlərin ünvanlarını söyləmək lazımdır (Bizdə 100 və 107). Göstərilən diapazondakı təlimatlar assemblerdə, maşın kodunda, həmçinin hər bir təlimatın ünvanı görünəcək. Komandadan istifadə edərək proqramı addım-addım icra edin T.

    İkinci əmrdən istifadə etməklə T, göstərişə əməl etdik MOV. Təlimat operandının maşın kodu −-dir 00D8. Əməliyyat əlavə edir AL Kimə BL. Çıxmaq üçün daxil olun Q. Və yenidən yaradılanları sökün testpi.com.


    9)
    BIOS-u (C000:0 ... FFFF:F) fayla kopyalayın və faylı daha sonra təhlil etmək üçün saxlayın.


    Kodun dəyişdirilməsi və ya kopyalanması BIOS istehsalçının müəllif hüquqlarını poza bilər BIOS. BIOS yalnız şəxsi istifadə üçün kopyalana və ya dəyişdirilə bilər, yayılması üçün deyil. Tipik Kopyalama Proseduru BIOS proqramdan istifadə etməklə DEBUG aşağıda təqdim edirik. Bu prosedur ünvandan faylda bütün 64 KB seqmenti saxlayacaqdır F000:0000h By F0000:FFFFh.


    Nəticələr:

    • debug.exeassembler və maşın kodlarında proqramları müşahidə etmək və sazlamaq üçün istifadə edilə bilər.
    • debug.exeproqramı izləməyə, kəsilmə nöqtələrini təyin etməyə, yaddaş sahələrinə baxmağa, proqramları birbaşa kompüterin yaddaşına daxil etməyə imkan verir.
    • debug.exeyüklənmiş proqramları proqram kimi təqdim edir .COM.
    • debug.exeyalnız onaltılıq ədədləri qəbul edir.
    • debug.exehərf halını tanımır.

    OllyDbg 2.0 bütün dünyada istifadəçilər arasında çox populyarlaşan İstifadəçi Məkanı səviyyəli sazlayıcıdır. İndi OllyDbg üçün çoxlu plaginlər yazılmışdır, ona görə də onunla işləmək çox xoşdur. OllyDbg yaxşı funksionallığa malikdir, bu da onu müxtəlif problemləri həll etmək və istənilən mürəkkəblik kodunu yoxlamaq üçün əlverişli edir. Sazlama interfeysi tamamilə fərdiləşdirilə bilər: işləyən pəncərələrin fonu, şriftin rəngi və ölçüsü, müəyyən assembler təlimatlarının vurğulanması və daha çox.

    Əsas xüsusiyyətlər və funksiyalar

    İnterfeys:

    • İnterfeys proqram kodu pəncərələrindən, registrlərdən, stekdən və yaddaş zibilindən ibarətdir. Fon və şrift rəngi zövqünüzə uyğun olaraq təyin edilə bilər. Düymənin ən yuxarı hissəsində sürətli girişəsas funksiyalara və ən çox görülən əməliyyatlara.

    Funksiyalar:

    • sazlanmış proqramda istifadə olunan funksiyaların siyahısı;
    • proqramda tapılan sətir dəyişənlərinin siyahısı;
    • sazlanan proqramın idarəetmə elementləri üçün tutacaqların siyahısı, məsələn: pəncərə, düymələr, qeyd qutuları (CheckBox), alətlər panelləri və s.;

    Kəsmə nöqtələri. Bir neçə kəsmə nöqtəsi təyin etmək mümkündür (eyni zamanda daxil olmaqla):

    • müəyyən bir funksiya üçün
    • müəyyən bir ünvana
    • Windows mesajına;
    • yaddaşdan oxumaq;
    • yaddaşa yazmaq;
    • yaddaşa giriş (oxumaq və yazmaq);
    • kod təlimatlarının müəyyən ardıcıllığına;

    Siz kəsmə nöqtələri üçün ayrıca xüsusi şərtləri, məsələn, müəyyən edilmiş registrin xüsusi dəyərini və daha çoxunu təyin edə bilərsiniz. Günlük faylına yazma funksiyası dəstəklənir.

    Yığın:

    • Funksiya arqumentlərini başa düşməyi asanlaşdırmaq üçün yığındakı dəyərlər şərh olunur.

    İz:

    • koddan keçərkən, hər bir təlimatdan əvvəl, sazlayıcı əməliyyatların yerinə yetirildiyi yaddaş ünvanlarının cari dəyərini təklif edir.

    Yaddaşda dəyərlərin tapılması:

    • ASCII və Unicode sətirlərinin axtarışı, həmçinin hex dəyərləri dəstəklənir.

    Kod pəncərəsi:

    • proqram kodu şərhlərlə müşayiət olunur, məsələn, funksiya adları, onların arqumentləri, dəyişən qiymətləri və s.