قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  تشغيل/ تثبيت أدوات التصحيح لنظام التشغيل Windows. العمل مع سطر أوامر Windows ، برنامج Debug واستخدامه ما هي الأداة المساعدة debug exe

تثبيت أدوات التصحيح لنظام التشغيل Windows. العمل مع سطر أوامر Windows ، برنامج Debug واستخدامه ما هي الأداة المساعدة debug exe

Debug.exe- برنامج مصحح يستخدم لفحص الملفات التنفيذية وتصحيحها.

تستخدم في ظل نظام التشغيل MS-DOS ... للإصدارات الأحدث من أنظمة التشغيل

يعمل من خلال المحاكي MS-DOS ولديه قدرات محدودة. تم استدعاؤها من خلال الجدول الزمني للأمر

DEBUG [[محرك:] [المسار] اسم الملف [خيارات]].

على سبيل المثال: DEBUG C: \ ... \ My.com

هذا البرنامجهو تطبيق وحدة التحكم وهو مصمم لإنشاء أو تعديل رمز الملفات. باستخدامه ، يمكنك إنشاء تطبيقات بسيطة لـ MS-DOSوتتبع عملهم. هذا المصحح موجود في أدنى مستوى للمترجم المجمع... لكنها تتمتع بإمكانات جيدة ، مثل عرض الذاكرة وتغييرها ، والحصول على حالة السجلات.

أوامر Debug.exe

قواعد مجموعة أوامر Debug.exe:

· Debug.exe غير حساس لحالة الأحرف.

· المسافات في الأوامر تستخدم فقط لفصل البارامترات.

· يجب أن تكون الأرقام المدخلة بنظام التدوين السداسي العشري ، وبدون الحرف اللاحق h.

· تتم كتابة المقطع والإزاحة باستخدام نقطتين ، في مقطع التنسيق: الإزاحة ، على سبيل المثال ، CS: 3C1 (إزاحة 3C1h في مقطع الرمز) أو 40:17 (إزاحة 17 ساعة في المقطع الذي يكون عنوان البداية 40 ساعة).

بعد تحميل مصحح الأخطاء ، تظهر مطالبة بواصلة على الشاشة. السجلات سي اس, DS, ES, SSفي هذه اللحظة ، تتم تهيئتهم باستخدام عنوان البادئة 256 بايت الخاصة بمقطع البرنامج ، وستبدأ منطقة العمل في الذاكرة من عنوان هذه البادئة + 100 ساعة. أوامر debug.exeيتم إدخالها مباشرة بعد المطالبة في الموقع المحدد بالمؤشر. يتكون كل أمر من معرف ومعلمات ، ويتكون المعرف من حرف واحد.

الجدول 1. ملخص لجميع أوامر debug.exe

أمر وصف صيغة
أ (تجميع) ترجمة تعليمات التجميع إلى كود الآلة ؛ العنوان الافتراضي هو CS: 0100h. أ [<адрес_начала_кода>]
C (قارن) مقارنة محتويات منطقتي ذاكرة. الافتراضي هو DS. يحدد الأمر إما طول المقاطع أو نطاق العناوين. ج<начальный_адрес_1>إل<длина> <начальный_адрес_2>ج<начальный_адрес_1> <конечный_адрес_1> <начальный_адрес_2>
D (عرض / تفريغ) يعرض محتويات منطقة الذاكرة بتنسيقات سداسية عشرية و ASCII. الافتراضي هو DS؛ يمكنك تحديد طول أو نطاق. د [<начальный_адрес>] د [start_address end_address]
E (أدخل) إدخال البيانات أو التعليمات الخاصة برمز الجهاز في الذاكرة ؛ الافتراضي هو DS. E [<адрес> [<инструкции/данные>]]
F (ملء) ملء مساحة الذاكرة بالبيانات من القائمة ؛ الافتراضي هو DS. يمكن استخدام كل من الطول والمدى. F<начальный_адрес_1>إل<длина> "<данные>"F<начальный_адрес> <конечный_адрес> "<данные>"
جي (اذهب) تنفيذ برنامج لغة آلة تم تصحيحه حتى نقطة توقف محددة ؛ الافتراضي هو CS. عند القيام بذلك ، تأكد من أن IP يحتوي على العنوان الصحيح. G [=<начальный_адрес>] <адрес_останова> [<адрес_останова> ...]
H (سداسي عشري) لحساب مجموع وفرق قيمتين سداسيتين عشريتين. ح<величина_1> <величина_2>
أنا (إدخال) قراءة وإخراج بايت واحد من المنفذ. أنا<адрес_порта>
L (تحميل) تحميل ملف أو بيانات من قطاعات القرص في الذاكرة ؛ الافتراضي هو CS: 100h. يمكن تحديد الملف باستخدام الأمر N أو وسيطة عند تشغيل debug.exe. لام [<адрес_в_памяти_для_загрузки>] لام [<адрес_в_памяти_для_загрузки> [<номер_диска> <начальный_сектор> <количество_секторов>]]
م (نقل) نسخ محتويات خلايا الذاكرة ؛ الافتراضي هو DS. يمكن تحديد كل من الطول والمدى. م<начальный_адрес>إل<длина> <адрес_назначения>م<начальный_адрес> <конечный_адрес> <адрес_назначения>
N (الاسم) تحديد اسم ملف للأمرين L و W. ن<имя_файла>
O (الإخراج) إرسال بايت إلى المنفذ. ا<адрес_порта> <байт>
ف (متابعة) قم بتنفيذ CALL أو LOOP أو INT أو جملة سلسلة مكررة مع بادئات REPnn ، والانتقال إلى العبارة التالية. ف [=<адрес_начала>] [<количество_инструкций>]
س (إنهاء) إيقاف تشغيل debug.exe. س
R (تسجيل) إخراج محتويات السجلات والتعليمات التالية. ص<имя_регистра>
S (بحث) ابحث في الذاكرة عن رموز من القائمة ؛ الافتراضي هو DS. يمكن تحديد كل من الطول والمدى. س<начальный_адрес>إل<длина> "<данные>"س<начальный_адрес> <конечный_адрес> "<данные>"
T (تتبع) تنفيذ البرنامج خطوة بخطوة. كما هو الحال مع الأمر P ، يكون الخيار الافتراضي هو زوج CS: IP. لاحظ أنه من الأفضل استخدام الأمر P لتنفيذ المقاطعات. تي [=<адрес_начала>] [<количество_выполняемых_команд>]
يو (فك) تفكيك رمز الجهاز ؛ الافتراضي هو CS: IP الزوج. لسوء الحظ ، لا يقوم debug.exe بتفكيك إرشادات محددة لمعالجات 80286+ بشكل صحيح ، على الرغم من استمرار تنفيذها بشكل صحيح. يو [<начальный_адрес>] أنت [<начальный_адрес конечный_адрес>]
W (كتابة) كتابة ملف من debug.exe ؛ من الضروري تحديد اسم الملف باستخدام الأمر N ، إذا لم يتم تحميله. والبرامج مكتوبة فقط كملفات .COM! W [<адрес> [<номер_диска> <начальный_сектор> <количество_секторов>]]


عرض مناطق الذاكرة

دعونا نفكر بالتفصيل في عمل الفريق د، والذي يسمح لك بمشاهدة محتويات مناطق فردية من الذاكرة. يستخدم هذا المثال الأمر دلعرض منطقة الذاكرة بدءًا من 0159: 0240:

هنا ، بناءً على طلب عرض منطقة الذاكرة ، تلقينا ثمانية أسطر ، تشير إلى محتويات منطقة الذاكرة المحددة. يتكون كل سطر من ثلاثة أجزاء:

عنوان البايت الأول المعروض من اليسار بالتنسيق الجزء: تعويض.

· التمثيل السداسي العشري للفقرة (16 بايت) ، بدءًا من البايت المشار إليه في بداية السطر.

· أحرف من نفس الفقرة بتنسيق ASCII.

يشير العنوان المحدد في السطر حصريًا إلى البايت الأول في الفقرة ، ويجب حساب عناوين وحدات البايت اللاحقة بشكل مستقل. يحتوي التمثيل السداسي العشري على حرفين لكل بايت ، ويتم فصل البايتات نفسها بمسافات لسهولة القراءة. بالإضافة إلى ذلك ، تجدر الإشارة إلى أنه يتم فصل البايتين الثامن والتاسع بواصلة ، وبالتالي يتم تقسيم الفقرة إلى قسمين وتسهيل حساب عناوين البايت في الفقرة.

حيل فريق د

فحص المنافذ المتوازية والمتسلسلة

تحتوي أول 16 بايت من منطقة بيانات BIOS على عناوين المنافذ المتوازية والمتسلسلة. لذلك ، باستخدام الأمر التالي ، يمكنك التحقق من هذه المنافذ:

تشير أول ثمانية بايتات مطبوعة إلى عناوين المنفذ التسلسلي COM1-COM4... 8 بايت التالية تشير إلى عناوين المنافذ المتوازية LPT1-LPT4... على سبيل المثال ، إذا كان جهاز الكمبيوتر الخاص بك يحتوي على منفذ واحد متوازي ، فمن المرجح أن تكون أول وحدتي بايت: 7803. عنوان المنفذ مكتوب بترتيب عكسي ؛ 0378.

فحص المعدات

أول وحدتي بايت ، الموجودة في BIOS عند 410 ساعة ، تحتوي على معلومات حول الأجهزة المثبتة في النظام. نجد هذه البايتات بالأمر:

لنفترض أن أول وحدتي بايت هما 23 و 44. لنفك تشفير هذه البايتات للحصول على معلومات حول الأجهزة المثبتة. للقيام بذلك ، عكس هذه البايتات (44 23) ، ثم ترجمها إلى النظام الثنائيحساب. نحن نحصل:

قيمة البت
موقف بت

ماذا تعني هذه القطع؟ نستمر في فك:

التحقق من حالة تسجيل لوحة المفاتيح

في مجال البيانات BIOSبالعنوان 417 ساعةيقع البايت الأول ، الذي يخزن حالة سجل لوحة المفاتيح. يطفىء Num lockو Caps Lock ، ثم نكتب الأمر:

البايت الأول سيكون 00. بما في ذلك Num lockو Caps Lock، قم بتنفيذ الأمر مرة أخرى. الآن يجب أن يكون البايت الأول يساوي 60. Num lockالبايت الأول هو 20 ومتى Caps Lock - 40.

التحقق من حالة نظام الفيديو

بالعنوان 449 ساعةالخامس BIOSتقع منطقة بيانات الفيديو الأولى. للتحقق ، نكتب:

يعرض البايت الأول وضع الفيديو الحالي (على سبيل المثال ، 03 لون) ، والثاني هو عدد الأعمدة (على سبيل المثال ، 50 عبارة عن وضع به 80 عمودًا). يمكن العثور على عدد الأسطر في 484 ساعة (40:84).

التحقق من حقوق النشر الخاصة بـ BIOS والرقم التسلسلي

معلومات حقوق النشر لـ BIOSجزءا لا يتجزأ في ROM BIOSبالعنوان FE00: 0... يمكن العثور بسهولة على سلسلة حقوق النشر في تسلسل ASCII ، و رقم سري- كرقم سداسي عشري. على الرغم من أن سطر حقوق النشر قد يكون طويلًا ولا يتناسب مع منطقة ذاكرة الإخراج. في هذه الحالة ، ما عليك سوى الدخول مرة أخرى د.

فحص تاريخ إنتاج BIOS

يتم تسجيل هذا التاريخ أيضًا في ROM BIOSبدءا من العنوان FFFF: 5... بعد تنفيذ الأمر المقابل ، سيحتوي تسلسل ASCII على هذا التاريخ المكتوب بالتنسيق mm / dd / yy.

الدخول إلى البرنامج مباشرة في الذاكرة باستخدام debug.exe

debug.exeيسمح لك بإدخال برنامج مباشرة في ذاكرة الجهاز ، ثم مراقبة تنفيذه والتحكم فيه. سندخل البرنامج في أكواد الآلة باستخدام الأمر ه... في هذه الحالة ، كن يقظًا - إدخال بيانات خاطئة في عنوان خاطئ محفوف بعواقب لا يمكن التنبؤ بها!على الرغم من أنه من غير المحتمل أن يؤدي ذلك إلى مشاكل خطيرة في النظام ، إلا أنه سيفقد جميع البيانات التي تم إدخالها فيه debug.exe، يمكنك ذلك بسهولة. يستخدم البرنامج المراد إدخاله البيانات المخزنة مباشرة في نص التعليمات. فيما يلي قائمة ببرنامج في المجمع ، وتشير التعليقات إلى نظائر أوامر اللغة في أكواد الآلة ، بالإضافة إلى شرح لكل أمر. لاحظ أنه لا يوجد رمز في الأرقام حمنذ ذلك الحين ، كما ذكر أعلاه ، debug.exeيفهم فقط الأرقام السداسية العشرية.

MOV AX ، 0123 ؛ الكود B82301: أدخل القيمة 0123h في AX

ADD AX، 0025 ؛ كود 052500: أضف 0225h إلى قيمة AX

MOV BX ، AX ؛ الكود 8BD8: أدخل قيمة AX في BX

إضافة BX ، AX ؛ كود 03D8: أضف قيمة AX إلى BX

MOV CX ، BX ؛ كود 8BCB: أدخل قيمة BX في CX

SUB CX ، AX ؛ الكود 2BC8: اطرح قيمة AX من CX

SUB AX ، AX ؛ كود 2BC0: مسح AX

JMP 100 ؛ كود EBEE: اذهب إلى بداية البرنامج

كما ترى ، يبلغ طول كل تعليمات الآلة من 1 إلى 3 بايت. يشير البايت الأول إلى العملية ، بينما تشير البايتات اللاحقة إلى معاملاتها. يبدأ تنفيذ البرنامج ، على التوالي ، من التعليمات الأولى ويمر بالتتابع من خلال جميع التعليمات واحدة تلو الأخرى. يمكن الآن إدخال البرنامج في الذاكرة. قسّم رمز الآلة إلى ثلاثة أجزاء من ستة بايت وأدخل كل جزء باستخدام الأمر هوالبدء من العنوان CS: 100.

الآن بعد أن أصبح البرنامج في الذاكرة ، دعونا نحاول التحكم في تنفيذه. أولاً ، دعنا نتحقق الوضع الحاليالسجلات والأعلام ، لهذا ندخل الأمر ص... سيقوم المصحح بطباعة محتويات السجلات في شكل سداسي عشري؛ تشغيل سيارات مختلفةقد تختلف محتويات السجلات.

كما ترون debug.exeشرائح مهيأة DS, ES, SS, سي اسنفس العنوان. يسجل IPيحتوي على 0100 ، مما يشير إلى أنه يتم تنفيذ التعليمات عند الإزاحة 100 ساعةنسبيا سي اس(ونحن ، أدخلنا التعليمات في الذاكرة ، أشرنا للتو إلى هذا العنوان).

يشار هنا أيضًا إلى قيم الفائض ، والاتجاه ، والمقاطعة ، والإشارة ، والصفر ، والحمل الإضافي ، والتكافؤ ، وأعلام الحمل:

بعد التسجيلات وحالة الأعلام ، يطبع debug.exe معلومات حول التعليمات الأولى المطلوب تنفيذها:

· عنوان التعليمات ، في حالتنا هو 0B12: 0100 ، حيث 0B12 هو عنوان مقطع الكود.

· كود الآلة حسب هذا الدليل (B82301).

· التعليمات الفعلية المكتوبة في المجمع (MOV AX ، 0123).

الآن ، بعد تحليل محتويات السجلات والعلامات ، دعنا ننتقل إلى تنفيذ البرنامج. سنقوم بتنفيذ البرنامج خطوة بخطوة باستخدام الأمر تي... في المرة الأولى التي تستخدم فيها الأمر تي، نتبع التعليمات موف... هنا رمز الآلة لمعامل التعليمات - 2301 ... أماكن العمليات 23 الخامس AL(النصف الأصغر فأس)، أ 01 - الخامس آه(اكبر سنا). بعد ذلك debug.exeيطبع مرة أخرى معلومات حول السجلات:

حاليا فأسيحتوي على 0123 ح, IP0103 ح(ومن هنا كان طول العبارة المنفذة: 0103 ح - 0100 ساعة = 3 بايت) ، والتعليمات التالية هي العملية يضيف... لذلك ، مرارا وتكرارا تنفيذ الأمر تي، سوف نصل إلى التعليمات الأخيرة 100 جم... سيتم تعيين السجل IPالخامس 100 ساعة، و debug.exeسيعود إلى بداية البرنامج. بالعودة إلى بداية البرنامج ، تجدر الإشارة إلى أنه في DS, ES, SSو سي اسيحتوي على نفس العنوان. الحقيقة انه debug.exeتعتبر البرامج التي تم إدخالها كبرامج فقط .COM... وفي البرامج .COM، على عكس .إملف تنفيذى، المكدس ، الكود والبيانات مخزنة في جزء واحد.

التجميع والتفكيك

في المثال السابق ، أدخلنا البرنامج في أكواد الآلة ، ومع ذلك ، debug.exeقادر تمامًا على فهم التعليمات المكتوبة في المجمع. للعمل مع مثل هذه البرامج في debug.exeيتم استخدام الأوامر أو يو.

أمر أيطلب تعليمات التجميع ويحولها إلى رمز الجهاز. أولاً ، نقوم بتهيئة عنوان البداية لإدخال التعليمات (100 ساعة):

سيطبع مصحح الأخطاء عنوان مقطع الرمز والإزاحة (على سبيل المثال ، 13F2: 0100). الآن علينا إدخال تعليمات التجميع التالية في الذاكرة ، بعد كل سطر بالضغط يدخل:

بعد إدخال التعليمات الأخيرة ، اضغط على يدخلمرتين للإشارة إلى مصحح الأخطاء أننا انتهينا من إدخال نص البرنامج. الآن يمكن تشغيل البرنامج باستخدام الأوامر صلعرض السجلات و تيللبحث عن المفقودين. ألاحظ أنه في برامجي ، إذا كانت هناك تعليمات ذكاءلا ينبغي معالجتها بواسطة أمر تيوالأمر صالذي يتعامل مع المقاطعة بالكامل مرة واحدة.

دعنا ننتقل إلى إجراء التفكيك ، ونأخذ البرنامج المقدم للتو كمثال. نستخدم عناوين التعليمات الأولى والأخيرة للإشارة إلى النطاق الذي سنقوم بتفكيكه ، أي 100 ساعةو 107 ساعة.

بعد تشغيل هذا الأمر debug.exeسيعرض التعليمات الموجودة في النطاق المحدد ، في المجمع ، في أكواد الجهاز ، بالإضافة إلى عنوان كل تعليمات:

حفظ البرنامج على القرص

يتم إعطاء اسم الملف أولاً:

ثم في السجل شمن الضروري وضع حجم البرنامج بالبايت. سيكون مساويًا للفرق بين تعويضي النهاية والبداية. الآن كل ما تبقى هو الكتابة إلى القرص باستخدام الأمر دبليوونتيجة لذلك ، راجع عدد البايت المكتوب. نتيجة لذلك ، نحصل على برنامج جاهز للتنفيذ.

يتم تنفيذ الخروج من خلال الأمر ف... مثال:

0B3B: 0100 mov ax ، 1234

0B3B: 0103 موف آه ، 4 ج

0B3B: 0105 دولي 21

0B3B: 0100 B83412 موف AX ، 1234

0B3B: 0103 B44C موف أه ، 4 ج

0B3B: 0105 CD21 INT 21

AX = 0000 BX = 0000 CX = 0007 DX = 0000 ليرة سورية = 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 موف AX ، 1234

اكتب 00007 بايت

لانجاز هذا العمل المخبريسوف تحتاج إلى بعض أوامر المجمع:

موف آه ،<шестнадцатиричное число>- الكتابة في السجل آهالارقام 02 للإشارة إلى وظيفة النظام - عرض رمز على الشاشة ؛

موف DL ،<шестнадцатиричное число>- الكتابة في السجل DLرمز الحرف

INT 21 - مقاطعة DOS الرئيسية (إجراء) ، والتي تنفذ العديد من الوظائف المختلفة ؛ رقم الوظيفة مكتوب مسبقًا في سجل AH ؛ لطباعة حرف على الشاشة - في وظيفة تسجيل AH 02 ، بينما في DLقم بالتسجيل المسبق لرمز الرمز.

INT 20 عبارة عن مقاطعة DOS تخرج من البرنامج (من برنامج .COM).

مثال:

اعرض الحرف "*" على الشاشة.

موف ه ، 02 ؛ وظيفة النظام 02 - عرض حرف على الشاشة

موف DL ، 2A ؛ علامة النجمة ASCII

21 ساعة كثافة مقاطعة للإخراج "*"

كثافة العمليات 20 ساعة الخروج من البرنامج

مهمة عملية

استهداف

الإلمام بمصحح الأخطاء debug.exe. اكتساب المهارات العملية في العمل مع هذا البرنامج.

ادوات:

كمبيوتر شخصيتشغيل نظام التشغيل Windows.

برمجة:

برنامج التصحيح.

أسئلة للقبول

1. ما هو التصحيح؟

2. كيف أبدأ هذا البرنامج؟

3. كيف يتم إدخال الأوامر في التصحيح؟

4. ما هو المعرف؟

5. كيف يتم إدخال البرنامج في التصحيح؟

يمارس

· دراسة المادة النظرية.

· نفذ الأوامر الموضحة على طول الطريق.

ابحث عن مجموع وفرق رقمين: الرقم الأول هو الرقم الموجود في المجموعة (يُترجم إلى شكل سداسي عشري) ، والثاني هو الرقم المقابل لرقم الحرف الأول من اللقب في الأبجدية ( رقم سالبرمز التكملة in's). تحويل المجموع والفرق إلى عدد عشري.

· عرض محتويات سجلات المعالجات الدقيقة والأعلام وتدوينها على البروتوكول. ما هي وظيفة كل من السجلات؟ ...

· اكتب في السجل AX الرقم الأول (من المهمة 3) ، وفي السجل BX - الثاني (من المهمة 3). أدخل في الرامات "الذاكرة العشوائية في الهواتف والحواسيبفي مقطع الكود (الإزاحة 100) تعليمات الآلة لإضافة سجلات AX و BX. اعرض نموذج المجمع الخاص به على الشاشة. قم بتشغيل هذا الأمر ، وقم بتحويل النتيجة إلى شكل عشري.

· أدخل في الذاكرة الرئيسية في مقطع الكود (إزاحة 100) مجموعة من أوامر المجمع لطباعة حرف على الشاشة - الحرف الأول من اسمك الأخير. تحقق من البرنامج في DEBUG. ثم انسخه على القرص كملف .COM. ما هو حجم البرنامج؟ قم بتشغيله من DOS.

· وصف جميع الإجراءات الواردة في التقرير.

1. عنوان العمل.

2. الغرض من العمل.

3. الآلات والمعدات.

4. معلومات نظرية موجزة.

5. وصف الإجراءات المتخذة.

6. نص البرنامج الذي تم إنشاؤه.

7. استنتاجات.

أسئلة التحكم

1. ما هو الأمر الذي ينفذ الإدخال في ذاكرة البيانات أو تعليمات كود الآلة؟

2. كيف تقارن محتويات منطقتي ذاكرة؟

3. كيف تملأ مساحة الذاكرة بالبيانات من القائمة؟

4. ما هو الأمر الذي ينفذ برنامج الجهاز المصحح؟

5. ما هو الأمر الذي يكتب الملف من Debug؟

6. كيف يتم التجميع والتفكيك؟

أدوات التصحيح للنوافذ - أدوات التصحيح لشفرة التشغيل أنظمة النوافذ... إنها مجموعة من البرامج المجانية من Microsoft مصممة لتصحيح أخطاء وضع المستخدم ورمز وضع kernel: التطبيقات ، وبرامج التشغيل ، والخدمات ، ووحدات النواة. تتضمن مجموعة الأدوات وحدة التحكم ووحدات تصحيح الأخطاء في وضع واجهة المستخدم الرسومية ، والأدوات المساعدة للعمل مع الرموز والملفات والعمليات والأدوات المساعدة لتصحيح الأخطاء عن بُعد. تحتوي مجموعة الأدوات على أدوات مساعدة يمكنك من خلالها العثور على أسباب الأعطال في مختلف مكونات النظام. أدوات التصحيح لنظام التشغيل Windowsمنذ لحظة معينة ، لا تكون متاحة للتنزيل في شكل مجموعة توزيع قائمة بذاتها ويتم تضمينها في Windows SDK (Windows Software Development Kit). مجموعة مفيدة أدوات Windows SDK ، بدوره ، متاح كجزء من برنامج اشتراك MSDN ، أو يمكن تنزيله مجانًا كتوزيع مستقل من msdn.microsoft.com. وفقًا للمطورين ، آخرها وأكثرها النسخة الحاليةأدوات التصحيح لنظام التشغيل Windows موجودة في Windows SDK.

يتم تحديث أدوات التصحيح لنظام التشغيل Windows وتحميلها إلى ملفات الوصول العامفي كثير من الأحيان وهذه العملية لا تعتمد بأي شكل من الأشكال على إصدار أنظمة التشغيل. لذلك ، تحقق بشكل دوري من وجود إصدارات جديدة.

دعنا الآن نرى ما هو ، على وجه الخصوص ، أدوات التصحيح لـ مايكروسوفت ويندوز:

  • تصحيح التطبيقات المحليةوالخدمات (الخدمات) والسائقين والنواة ؛
  • تصحيح أخطاء التطبيقات والخدمات (الخدمات) وبرامج التشغيل والنواة عن بُعد عبر الشبكة ؛
  • تصحيح أخطاء التطبيقات قيد التشغيل في الوقت الحقيقي ؛
  • تحليل ملفات تفريغ ذاكرة التطبيق والنواة والنظام ككل ؛
  • العمل مع الأنظمة القائمة على معماريات x86 / x64 / Itanium ؛
  • تصحيح أخطاء برامج وضع المستخدم ووضع kernel ؛

الإصدارات التالية من أدوات التصحيح لنظام التشغيل Windows متوفرة: 32 بت x86 ، Intel Itanium ، 64 بت x64. نحتاج إلى اثنين منهم: x86 أو x64.

هناك عدة طرق لتثبيت أدوات التصحيح لنظام التشغيل Windows ، في هذه المقالة سننظر في الطرق الرئيسية فقط:

  • التثبيت عبر مثبت الويب.
  • تثبيت أدوات التصحيح لنظام التشغيل Windows من صورة Windows SDK ISO.
  • تثبيت أدوات التصحيح لنظام التشغيل Windows مباشرة من حزم dbg_amd64.msi /dbg_x86.msi.

لا يزال من غير الواضح عند أي نقطة ، لماذا يجب أن أقوم بتثبيت مجموعة أدوات تصحيح الأخطاء على جهاز الكمبيوتر الخاص بي؟ غالبًا ، بعد كل شيء ، تواجه موقفًا يكون فيه التدخل في بيئة العمل أمرًا غير مرغوب فيه للغاية! علاوة على ذلك ، قد يكون تثبيت منتج جديد ، أي إجراء تغييرات على ملفات التسجيل / النظام ، غير مقبول تمامًا. ومن الأمثلة على ذلك خوادم مهمة. لماذا لا يفكر المطورون في خيار مع إصدارات محمولة (محمولة) من التطبيقات التي لا تتطلب التثبيت؟
خضعت عملية تثبيت حزمة أدوات التصحيح لنظام التشغيل Windows لتغييرات عديدة من إصدار إلى آخر. دعنا الآن ننتقل مباشرة إلى عملية التثبيت وننظر في الطرق التي يمكن من خلالها تثبيت مجموعة الأدوات.

تثبيت أدوات التصحيح لنظام التشغيل Windows باستخدام مثبت الويب

انتقل إلى صفحة Windows SDK Archive وابحث عن قسم يسمى Windows 10 وأسفل العنصر "Windows 10 SDK (10586) ومحاكي الجهاز مع Windows 10 Mobile (Microsoft) (الإصدار 10586.11)".

نضغط على العنصر تثبيت SDK... بعد النقر ، قم بتنزيل وتشغيل ملف sdksetup.exe ، والذي يبدأ التثبيت عبر الإنترنت لـ Windows SDK. في المرحلة الأولية ، سيقوم المثبت بالتحقق من حزمة .NET المثبتة في النظام. الإطار الأخيرالإصدار (في هذه اللحظةهذا 4.5). إذا كانت الحزمة مفقودة ، فسيتم تقديم التثبيت وسيتم إعادة تشغيل المحطة عند الانتهاء. مباشرة بعد إعادة التشغيل ، في مرحلة إذن المستخدم ، تبدأ عملية التثبيت مباشرة من Windows SDK.

في كثير من الأحيان ، عند اختيار جميع مكونات الحزمة دون استثناء ، قد تحدث أخطاء أثناء عملية التثبيت. في هذه الحالة ، يوصى بتثبيت المكونات بشكل انتقائي ، وهو الحد الأدنى المطلوب للمجموعة.

بعد اكتمال تثبيت أدوات التصحيح لنظام التشغيل Windows ، يكون موقع ملفات التصحيح عند هذه الطريقةالتركيبات سيكون لدينا ما يلي:

  • إصدارات 64 بت: C: \ Program Files (x86) \ Windows Kits \ x.x \ Debuggers \ x64
  • إصدارات 32 بت: C: \ Program Files (x86) \ Windows Kits \ x.x \ Debuggers \ x86

* حيث x.x إصدار محدد من مجموعة أدوات التطوير ؛
هل لاحظت أن الإصدار 8 وما بعده ، مسارات التثبيت مختلفة بشكل ملحوظ عن المسارات الكلاسيكية لجميع الإصدارات السابقة من أدوات التصحيح؟

إضافة ضخمة هذه الطريقةتثبيت أدوات التصحيح لنظام التشغيل Windows هو تثبيت إصدارات من أدوات التصحيح لجميع البنى في وقت واحد.

تثبيت أدوات التصحيح لنظام التشغيل Windows من صورة Windows SDK ISO

تتضمن هذه الطريقة تثبيت أدوات التصحيح لنظام التشغيل Windows باستخدام صورة تثبيت كاملة لـ Windows SDK (مجموعة مطوري البرامج). حتى وقت معين ، كان من الممكن تنزيل صورة ISO للنظام المقابل على صفحة أرشيف Windows SDK. ومع ذلك ، في الوقت الحالي ، يمكنك الحصول على صورة ISO لـ SDK عن طريق تشغيل مثبت الويب sdksetup.exe ، واختيار العنصر قم بتنزيل Windows Software Development Kitفي نافذة بدء المثبت:

كما تم اكتشافه ، فإن الطريقة السابقة للتثبيت باستخدام مثبت الويب متقلبة للغاية وغالبًا ما تفشل. في الأنظمة النظيفة ، يتم تثبيته دون مشاكل ، ومع ذلك ، على أنظمة محملة بشكل كافٍ ، تنشأ العديد من المشاكل. إذا كان لديك مثل هذه الحالة ، فاستخدم هذه الطريقة.

وفقًا لذلك ، على الصفحة ، من الضروري تحديد مجموعة التوزيع المطلوبة ، بالنسبة لي (وأعتقد بالنسبة للكثيرين) في الوقت الحالي " حزمة Windows SDK لنظامي التشغيل Windows 7 و .NET Framework 4 "وانقر أدناه مباشرة على الرابط" الحصول على صورة DVD ISO ".

عند العمل مع موقع msdn.microsoft.com ، أنصحك باستخدام مستعرض متصفح الانترنتلأنه كانت هناك حالات لمنتجات منافسة لا تعمل!

وفقًا لذلك ، من الضروري الاختيار فقط عند الضرورة. عادةً ما يكون اختبار أدوات التصحيح لنظام التشغيل Windows هو نفس شهادة النظام. معظم أنظمتي قيد التحقيق هي 64 بت ، لذا في معظم الحالات أقوم بتنزيل الصورة لنظام 64 بت GRMSDKX_EN_DVD.iso.
بعد ذلك ، بعد تنزيل الصورة ، نحتاج إلى العمل بطريقة ما مع صورة ISO الحالية. الطريقة التقليدية ، بالطبع ، هي تسجيل قرص مضغوط ، لكن هذه طريقة طويلة ومكلفة في بعض الأحيان. أقترح استخدام المرافق المجانيةلإنشاء أجهزة قرص افتراضي في النظام. أنا شخصياً أفضل استخدام برنامج DEAMON Tools Lite لهذا الغرض. قد يكون لدى شخص ما تفضيلات أخرى ، أدوات مساعدة مباشرة أو خفيفة الوزن ، وذوق ولون ، كما يقولون .. بعد تثبيت DAEMON أدوات لايت، أنا فقط أنقر نقرًا مزدوجًا على ملف الصورة GRMSDKX_EN_DVD.iso ويظهر قرص مضغوط افتراضي جديد على النظام:

ثم نقرتين متتاليتينأقوم بتنشيط التشغيل التلقائي وبدء تثبيت Windows SDK:

عندما يحين الدور لتحديد المكونات المراد تثبيتها من القائمة ، فإننا نعطل جميع الخيارات تمامًا باستثناء تلك المحددة في لقطة الشاشة. سيساعد هذا على تجنب الأخطاء غير الضرورية بالنسبة لنا الآن.


كل شيء يشبه ذلك تمامًا ، في لقطة الشاشة يوجد خياران محددان: "Windows Performance Toolkit" و "Debugging Tools for Windows". اختر كليهما ، لأن مجموعة أدوات أداء Windows ستكون بالتأكيد في متناول يديك لعملك! علاوة على ذلك ، بعد النقر فوق الزر "التالي" ، يستمر التثبيت في الوضع العادي... وفي النهاية سترى النقش "اكتمل التثبيت".
في نهاية التثبيت ، ستكون أدلة العمل لمجموعة أدوات التصحيح لنظام التشغيل Windows على النحو التالي:

  • للإصدار x86:
  • بالنسبة للإصدار x64:

هذا يكمل تثبيت أدوات التصحيح لنظام التشغيل Windows.

تثبيت أدوات التصحيح لنظام التشغيل Windows عبر ملف .msi

في حالة حدوث مشكلات أثناء تثبيت أدوات التصحيح لنظام التشغيل Windows بالطريقتين السابقتين ، لا يزال لدينا واحدة أخرى ، أكثرها موثوقية واختبارًا للوقت ، والتي ساعدت ، إذا جاز التعبير ، أكثر من مرة. ذات مرة ، قبل الدمج في Windows SDK ، كانت أدوات التصحيح لنظام التشغيل Windows متاحة كمثبت منفصل .msi ، والذي لا يزال من الممكن العثور عليه الآن ، ولكن بالفعل في الأعماق توزيع النوافذ SDK. نظرًا لأن لدينا بالفعل صورة ISO لـ Windows SDK في أيدينا ، فلا يمكننا تركيبها في النظام ، ولكن ببساطة نفتحها بمساعدة المألوف أرشيفي WinRAR، حسنًا ، أو أي منتج آخر يعمل مع محتويات أقراص ISO.

بعد فتح الصورة ، نحتاج إلى الانتقال إلى دليل "الإعداد" الموجود في الجذر ثم تحديد أحد المجلدات:

  • لتثبيت الإصدار 64 بت: \ إعداد \ WinSDKDebuggingTools_amd64وفك ضغط ملف dbg_amd64.msi من هذا الدليل.
  • لتثبيت الإصدار 32 بت: \ Setup \ WinSDKDebuggingTools وفك ضغط ملف dbg_x86.msi من هذا الدليل.

في نهاية التثبيت ، ستكون أدلة العمل لمجموعة أدوات التصحيح لنظام التشغيل Windows على النحو التالي:

  • للإصدار x86: C: \ Program Files (x86) \ Debugging Tools for Windows (x86)
  • بالنسبة للإصدار x64: C: \ Program Files \ أدوات التصحيح لنظام التشغيل Windows (x64)

في هذه المرحلة ، اكتمل تثبيت أدوات التصحيح لنظام التشغيل Windows.

معلومة اضافية

لا أعرف ما الذي يرتبط به ، ربما بسبب إهمالي ، ولكن بعد تثبيت أدوات التصحيح لنظام التشغيل Windows ، لا يقوم المثبت بتسجيل المسار إلى الدليل باستخدام مصحح الأخطاء في متغير نظام المسار. هذا يفرض قيودًا معينة على بدء مهام تصحيح الأخطاء المختلفة مباشرةً من وحدة التحكم. لذلك ، في حالة عدم وجود مسار ، أكتب بنفسي في النافذة متغيرات البيئة الطريق إلى أدوات التصحيح:

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

* في حالتك ، قد تختلف المسارات بسبب استخدام نظام تشغيل لجهة مختلفة ، وكذلك بسبب استخدام SDK من إصدار مختلف.

يمكن أن تعمل أدوات التصحيح الخاصة بحزمة Windows كتطبيقات محمولة ، فقط قم بالنسخ من نظام العملفهرس مجموعة أدوات أداء Microsoft Windowsواستخدامها كنسخة محمولة على خادم الإنتاج. لكن لا تنسى أن تأخذ بعين الاعتبار قدرة النظام !! حتى إذا قمت بتثبيت الحزمة بالكامل على نظام مهم ، يمكنك بدء العمل مباشرة بعد التثبيت ، ولا يلزم إعادة التشغيل.

أدوات التصحيح لتكوين Windows

والآن ، أخيرًا ، نقدم تركيبة أدوات التصحيح لنظام التشغيل Windows:

ملف ميعاد
adplus.doc وثائق الأداة المساعدة ADPlus.
adplus.exe تطبيق وحدة تحكم يقوم بأتمتة مصحح أخطاء cdb لإنشاء عمليات تفريغ وملفات تسجيل لعملية واحدة أو أكثر.
agestore.exe أداة مساعدة لإزالة الملفات القديمة من المستودع المستخدم بواسطة خادم الرموز أو الخادم المصدر.
breakin.exe أداة تتيح لك إرسال تركيبة فاصلة محددة من قبل المستخدم إلى العمليات ، على غرار الضغط على CTRL + C.
cdb.exe مصحح أخطاء وحدة التحكم في وضع المستخدم.
convertstore.exe الأداة المساعدة لتحويل الرموز من 2 إلى 3 طبقات.
dbengprx.exe Reaper (خادم وكيل) لتصحيح الأخطاء عن بُعد.
dbgrpc.exe أداة مساعدة لعرض معلومات حول حالة استدعاء RPC.
dbgsrv.exe عملية الخادم المستخدمة للتصحيح عن بعد.
dbh.exe أداة لعرض معلومات حول محتويات ملف رمز.
ملف dumpchk.exe فائدة فحص التفريغ. فائدة ل فحص سريعملف مهمل.
ملف dumpexam.exe أداة مساعدة لتحليل تفريغ الذاكرة. يتم عرض النتيجة في٪ SystemRoot٪ \ MEMORY.TXT.
gflags.exe محرر الأعلام العالمية للنظام. تدير الأداة مفاتيح التسجيل والإعدادات الأخرى.
i386kd.exe غلاف ل kd. متى تم تسميته kd للأنظمة المستندة إلى Windows NT / 2000 لأجهزة x86؟ ربما غادر لأسباب التوافق.
ia64kd.exe غلاف ل kd. متى تم تسميته kd للأنظمة القائمة على Windows NT / 2000 لأجهزة ia64؟ ربما غادر لأسباب التوافق.
kd.exe مصحح أخطاء وحدة التحكم في وضع Kernel.
kdbgctrl.exe أداة إدارة تصحيح أخطاء Kernel. أداة لإدارة وتكوين اتصال تصحيح أخطاء kernel.
kdsrv.exe خادم اتصال دينار كويتي. الأداة المساعدة هي تطبيق صغير يبدأ وينتظر الاتصالات عن بعد. يعمل kd على العميل ويتصل بهذا الخادم لتصحيح الأخطاء عن بُعد. يجب أن يكون كل من الخادم والعميل من نفس مجموعة أدوات التصحيح.
kill.exe فائدة لإنهاء العمليات.
list.exe أداة لعرض محتويات الملف على الشاشة. في الحزمة ، تبين أن هذه الأداة المصغرة لغرض واحد - عرض النصوص الكبيرة أو ملفات السجل. يشغل مساحة صغيرة من الذاكرة لأنه يقوم بتحميل النص في أجزاء.
logger.exe مصحح أخطاء صغير يمكنه العمل مع عملية واحدة فقط. تقوم الأداة بحقن logexts.dll في مساحة العملية ، والتي تسجل جميع استدعاءات الوظائف والإجراءات الأخرى للبرنامج قيد التحقيق.
logviewer.exe أداة لعرض السجلات المكتوبة بواسطة مصحح الأخطاء logger.exe.
ntsd.exe Microsoft NT Symbolic Debugger (NTSD). مصحح الأخطاء ، مماثل لـ cdb ، فيما عدا أنه ينشئ مربع نص عند بدء التشغيل. مثل cdb ، ntsd قادر على تصحيح أخطاء تطبيقات وحدة التحكم والتطبيقات الرسومية.
pdbcopy.exe أداة مساعدة لإزالة الرموز الخاصة من ملف رمز ، والتحكم في الرموز العامة المدرجة في ملف الرمز.
remote.exe أداة لتصحيح الأخطاء عن بعد والتحكم عن بعد في أي مصحح أخطاء وحدة تحكم KD و CDB و NTSD. يتيح لك تشغيل كل أدوات تصحيح أخطاء وحدة التحكم هذه عن بُعد.
rtlist.exe عارض المهام البعيدة. يتم استخدام الأداة المساعدة لسرد العمليات الجارية من خلال عملية خادم DbgSrv.
symchk.exe أداة لتنزيل الرموز من Microsoft Symbol Server وإنشاء ذاكرة تخزين مؤقت للرموز المحلية.
symstore.exe أداة لإنشاء شبكة أو تخزين محلي للرموز (2-tier / 3-tier). مخزن الرموز هو دليل متخصص على القرص تم إنشاؤه وفقًا لهيكل معين ويحتوي على رموز. في الدليل الجذر للرموز ، يتم إنشاء بنية المجلدات الفرعية بأسماء مماثلة لأسماء المكونات. في المقابل ، يحتوي كل من هذه المجلدات الفرعية على مجلدات فرعية متداخلة بأسماء خاصة يتم الحصول عليها عن طريق تجزئة الملفات الثنائية. تقوم الأداة المساعدة symstore بفحص مجلدات المكونات وإضافة مكونات جديدة إلى مخزن الرموز ، حيث يمكن استردادها من قبل أي عميل. يقال إن symstore يستخدم للحصول على رموز من تخزين 0-tier ووضعها في 2-tier / 3-tier storage.
tlist.exe عارض المهام. أداة لسرد جميع العمليات الجارية.
umdh.exe أداة كومة الذاكرة المؤقتة لوضع المستخدم. الأداة المساعدة لتحليل الأكوام (الكومة) للعملية المحددة. يسمح لك بعرض خيارات متنوعة للكومة.
usbview.exe عارض USB. فائدة للعرض جهاز USB:٪ sمتصل بالكمبيوتر.
vmdemux.exe آلة افتراضية مزيل تعدد الإرسال. يقوم بإنشاء عدة توجيهات إخراج مسماة لاتصال COM واحد. تُستخدم القنوات لتصحيح أخطاء المكونات المختلفة للجهاز الظاهري
windbg.exe وضع مستخدم واجهة المستخدم الرسومية ومصحح أخطاء وضع kernel.

Android Debug Bridge (adb) هو برنامج وحدة التحكممما سيسمح لك بالتصحيح أجهزة محمولةعلى Android ، وكذلك المحاكيات.

وصف

تعمل هذه الأداة على تبسيط عملية تثبيت التطبيقات وتصحيح أخطائها بشكل كبير ، كما توفر الوصول إلى غلاف Unix. يمكن استخدام الأخير لتشغيل الأوامر المطلوبة على الجهاز. من بين أشياء أخرى ، يمكن استخدام البرنامج لفتح هاتف ذكي مع تمكين وضع التصحيح. ومع ذلك ، تجدر الإشارة إلى أن Android Debug Bridge يدعم أي جهاز يعمل بنظام Android ، بشرط ألا يتم حظر الوظيفة المطلوبة من قبل الشركة المصنعة.

يشتمل البرنامج على ثلاثة مكونات:

  • عميل. يعمل على جهاز الكمبيوتر الخاص بالمطور ، ويرسل الأوامر. للاتصال بالعميل ، يمكنك استخدام الأمر المناسب في الجهاز.
  • الشيطان (adbd). ينفذ الأوامر على الجهاز. يعمل في الخلفية على كل جهاز.
  • الخادم. يدير الاتصال بين العميل والبرنامج الخفي. يعمل في الخلفية على حاسوب المطور.

ميزات ADB:

  • اعرض قائمة بالأجهزة المتصلة والمدعومة.
  • عرض السجلات.
  • نسخ ونقل البيانات والملفات بين الأجهزة.
  • تثبيت وإلغاء تثبيت التطبيقات.
  • مسح البيانات والكتابة عليها.
  • وأكثر من ذلك بكثير.

من موقعنا يمكنك تنزيل Android Debug Bridge مجانًا ، بدون تسجيل ورسائل SMS.

لقطات

قم بتشغيل Debug.exe ، وهو برنامج لفحص وتصحيح ملفات MS-DOS القابلة للتنفيذ. تم تنفيذ الأمر بدون معلمات التصحيحيبدأ تشغيل برنامج Debug.exe ويعرض موجه الأوامر التصحيح، ممثلة بواصلة (-).


1)
ابدأ برنامج Virtual PC 2007 بصورة Windows XP. ضع نظام التشغيل في وضع سطر الأوامر.

ابدأ -> تشغيل -> أدخل cmd واضغط على Enter.


2)
الحصول على التعليمات والتزامها لخيارات أوامر التصحيح

في وحدة التحكم: أدخل التصحيح ، ثم (؟).

قائمة قصيرةجميع الفرق:

أ (تجميع) - ترجمة تعليمات التجميع إلى كود الآلة. العنوان الافتراضي هو CS: 0100 ساعة.

C (قارن) - مقارنة بين محتويات منطقتي ذاكرة. الافتراضي هو DS... يحدد الأمر إما طول المقاطع أو نطاق العناوين.

د (تفريغ) - إخراج محتويات منطقة الذاكرة بصيغ سداسية عشرية و ASCII. الافتراضي هو DS... يمكن تحديد الطول أو النطاق.

ه (إدخال) - إدخال البيانات أو التعليمات الخاصة برمز الجهاز في الذاكرة. الافتراضي هو DS.

F (ملء) - تعبئة مساحة الذاكرة ببيانات من القائمة. الافتراضي هو DS... يمكن استخدام كل من الطول والمدى.

G (اذهب) - تنفيذ برنامج لغة الآلة المصحح حتى نقطة التوقف المحددة. الافتراضي هو DS... في هذه الحالة ، يجب التأكد من ذلك IPيحتوي على عنوان صالح.

H (سداسي عشري) - حساب مجموع واختلاف القيمتين السداسية العشرية.

أنا (إدخال) - قراءة وإخراج بايت واحد من المنفذ.

L (تحميل) - تحميل ملف أو بيانات من قطاعات القرص في الذاكرة. ... تقصير - CS: 100 ساعة... يمكن تحديد الملف باستخدام الأمر نأو حجة عند بدء التشغيل debug.exe.

م (تحرك) - نسخ محتويات خلايا الذاكرة. الافتراضي هو DS

N (الاسم) - تحديد اسم ملف للأوامر L (تحميل)و W (اكتب).

O (الإخراج) - إرسال بايت إلى منفذ الإخراج.

P (متابعة) - اتبع التعليمات CALL، LOOP، INT (حلقة ، مقاطعة ، إجراء)أو عبارة سلسلة مسبوقة قابلة للتكرار REPnnننتقل إلى التعليمات التالية.

س (استقال) - الانتهاء من العمل debug.exe... بدون حفظ ملف الاختبار.

R (تسجيل) - إخراج محتويات السجلات والتعليمات التالية.

S (بحث) - ابحث في الذاكرة عن رموز من القائمة. الافتراضي هو DS... يمكن تحديد كل من الطول والمدى.

T (تتبع) - تنفيذ البرنامج خطوة بخطوة. كما في الفريق ص، الافتراضي هو الزوج CS: IP... ولكن لإجراء المقاطعات ، من الأفضل استخدام الأمر ص.

يو (تفكيك) - فك كود الآلة. الزوج الافتراضي هو CS: IP.

W (كتابة) - كتابة ملف من debug.exeإلى القرص. من الضروري تحديد اسم الملف باستخدام الأمر نإذا لم يتم تحميله.


3)
احصل على وتفريغ مناطق ذاكرة الوصول العشوائي وذاكرة القراءة فقط المميزة

لنكتب الأمر R.

السجلات سي اس, DS, ES, SSفي هذه اللحظة يتم تهيئة عنوان بادئة مقطع برنامج 256 بايت، أ منطقة العملفي الذاكرة ستبدأ بـ عناوين هذه البادئة + 100 ح.

قواعد مجموعة التعليمات:

أ) ب debug.exeالحروف ليست القضية حساسة.

ب) يتم استخدام المسافات في الأوامر فقط لفصل المعلمات.

ج) يجب أن تكون الأرقام المدخلة بالتدوين السداسي العشري ، و بدونحرف النهاية ح.

د) تتم كتابة المقطع والإزاحة باستخدام نقطتين ، بالتنسيق الجزء: تعويض.


4)
عرض منطقة الذاكرة.

أمر د، يسمح لك بمشاهدة محتويات مناطق الذاكرة الفردية.
دعنا نتحقق من حجم الذاكرة المتاحة للعمل. للقيام بذلك ، نقدم: د 40:13وادخل.
أول وحدتي بايت تظهران على الشاشة تحتويان على حجم الذاكرة بالكيلو بايت والسداسي العشري ، مع ترتيب وحدات البايت بترتيب عكسي. لدينا هذا: 8002 0280640 (C)

  • عنوان البايت الأول المعروض من اليسار بالتنسيق الجزء: تعويض.
  • التمثيل السداسي العشري للفقرة (16 بايت) بدءًا من البايت المشار إليه في بداية السطر.
  • أحرف من نفس الفقرة بتنسيق ASCII.


4)
فحص المنافذ المتوازية والمتسلسلة.


تحتوي أول 16 بايت من منطقة بيانات BIOS على عناوين المنافذ المتوازية والمتسلسلة. تشير أول ثمانية بايتات مطبوعة إلى عناوين المنافذ التسلسلية COM1-COM4. تشير 8 بايت التالية إلى عناوين المنفذ المتوازي LPT1-LPT4. عنوان المنفذ 78 03 - مكتوب بشكل عكسي.


5)
التحقق من حالة لوحة المفاتيح المسجلة.


في مجال البيانات BIOSبالعنوان 417 ساعةيقع البايت الأول ، الذي يخزن حالة سجل لوحة المفاتيح.


6)
فحص تاريخ إنتاج BIOS.


معلومات حقوق النشر لـ BIOSجزءا لا يتجزأ في ROM BIOSبالعنوان FE00: 0... يمكن العثور بسهولة على سطر حقوق النشر في ASCII-السلسلة ، والرقم التسلسلي في شكل رقم سداسي عشري. نرى على الشاشة رقم كمبيوتر مكونًا من سبعة أرقام وتاريخ حقوق النشر. على الرغم من أن سطر حقوق النشر قد يكون طويلًا ولا يتناسب مع منطقة ذاكرة الإخراج. في هذه الحالة ، ما عليك سوى الدخول مرة أخرى د.

يتم تسجيل التاريخ أيضًا في ROM BIOSبدءا من العنوان FFFF: 5... بعد تنفيذ الأمر المقابل في ASCII- سوف تحتوي النتيجة على هذا التاريخ ، مكتوبًا بالتنسيق mm / dd / yy.


7)
مثال على رموز الآلة.


لنفكر في إنشاء برنامج بلغة الآلة وتمثيله في الذاكرة ونتائج تنفيذه. أمر المصحح أ (تجميع)يترجم تصحيحفي وضع استلام أوامر المجمع وترجمتها إلى رموز الآلة.

الآن بعد أن أصبح البرنامج في الذاكرة ، دعونا نحاول التحكم في تنفيذه. أولاً ، دعنا نتحقق من الحالة الحالية للسجلات والأعلام ، لذلك نقوم بإدخال الأمر ص.


IP- سجل يحتوي على إزاحة العنوان للأمر التالي الذي سيتم تنفيذه ، فيما يتعلق بمقطع الكود سي اسفي معالجات عائلة x86.

يسجل IPمرتبط ب سي اسكما CS: IP، أين سي اسهو مقطع الكود الحالي و IP- الإزاحة الحالية بالنسبة لهذا المقطع.

يسجل IPهو سجل مؤشر 16 بت. بالإضافة إلى ذلك ، تشمل السجلات من هذا النوع SP (مؤشر المكدس- مؤشر المكدس) و BP (مؤشر القاعدة- الفهرس الأساسي).

تسجيل CXمرت بنجاح وتساوي 8. تم تهيئة الشرائح DS, ES, SS, سي اسنفس العنوان. يسجل IPيحتوي على 0100 ، مما يشير إلى أنه يتم تنفيذ التعليمات عند الإزاحة 100 ساعة من CS (بدأنا به).

المعنى

وصف

لا تجاوز

الاتجاه الصاعد أو الأيمن

قرار المقاطعة

علامة إيجابية

قيمة غير صفرية

لا نقل إضافي

كلمة غريبة

0 ب16 - عنوان مقطع الكود.
  • رمز الجهاز المقابل لهذه التعليمات ( B025).
  • التعليمات نفسها ، مكتوبة في المجمع ( موف أ إل,25 ).

  • 8)
    يعرض أمر مصحح الأخطاء U (Unassemble) رموز الجهاز لإرشادات التجميع.


    دعونا ننفذها. من الضروري إعلام مصحح الأخطاء بعناوين الأمرين الأول والأخير اللذين يجب عرضهما (لدينا 100 و 107). ستظهر التعليمات في النطاق المحدد بلغة التجميع ، في أكواد الجهاز ، بالإضافة إلى عنوان كل تعليمات. دعنا ننفذ البرنامج خطوة بخطوة باستخدام الأمر تي.

    باستخدام الأمر مرة ثانية تي، اتبعنا التعليمات موف... كود الآلة لمعامل التعليمات هو 00D8... تضيف العملية ALإلى BL... للخروج ، أدخل س... ومرة أخرى نفكك المخلوق testpi.com.


    9)
    انسخ BIOS (С000: 0 ... FFFF: F) إلى ملف واحفظ الملف لتحليله لاحقًا.


    تغيير أو نسخ الرمز BIOSقد تنتهك حقوق الطبع والنشر للشركة المصنعة BIOS. BIOSيمكن نسخها أو تعديلها للاستخدام الشخصي فقط ، وليس للتوزيع. إجراء النسخ النموذجي BIOSباستخدام البرنامج تصحيحأدناه. سيؤدي هذا الإجراء إلى حفظ مقطع 64 كيلوبايت بالكامل من العنوان F000: 0000 ساعةتشغيل F0000: FFFFh.


    الاستنتاجات:

    • debug.exeيمكن استخدامها لرصد وتصحيح برامج التجميع وكود الآلة.
    • debug.exeيسمح لك بتتبع البرنامج ، وتعيين نقاط التوقف ، وعرض مناطق الذاكرة ، وإدخال البرامج مباشرة في ذاكرة الكمبيوتر.
    • debug.exeيمثل البرامج القابلة للتنزيل كبرامج .COM.
    • debug.exeيقبل فقط الأرقام السداسية العشرية.
    • debug.exeليست حساسة لحالة الأحرف.

    DOS Debug هو تطبيق تصحيح يعمل على تحسين وظيفة أمر MS DEBUG الأصلي. يعمل على معماريات الكمبيوتر 32 بت فقط ، ويلعب دور المُجمِّع والمُجمِّع ، مما يوفر للمبرمجين طريقة لتشخيص COM والملفات القابلة للتنفيذ الأخرى.

    تتضمن الحزمة ثنائيًا مخصصًا لتصحيح أخطاء تطبيقات 16 بت (DEBUG.COM) ، بالإضافة إلى إصدار معدل يسمى DEBUGX.COM ، وهو متوافق مع تطبيقات 16 بت و 32 بت التي تعمل في الوضع المحمي (تمكين DPMI ).

    يعمل التطبيق في وحدة تحكم الأوامر ، مما يتيح لك عرض قائمة بجميع الأوامر المتاحة من خلال الوصول إلى قسم "التعليمات".

    من بين الميزات الإضافية التي يوفرها DOS Debug ، يمكنك العثور على تحسينات للمُجمِّع والمُجمِّع ، (والذي يمكنه إخطارك في حالة اكتشاف عدم توافق المعالج) ، ودعم رموز تشغيل FPU ، ووحدات المعالجة المركزية 80386+ ، وعلى هذا النحو ، أسماء تسجيل 32 بت.

    أيضًا ، يمكن أن يكون بمثابة تطبيق تفريغ سداسي عشرية وخيارات حزم لتحليل محتوى الذاكرة ، ومقارنة أو ملء مجموعة من العناوين ، وعرض سلسلة MCB (كتلة التحكم في ذاكرة DOS). تسمح لك الأوامر الأخرى بالوصول إلى أقسام معينة من القرص والمنافذ وقطاعات الذاكرة أو تعيين اسم البرنامج.

    يعمل DEBUG.COM كبرنامج 16 بت ، مما يعني أنه يمكن أن يعمل على تطبيقات 16 بت فقط ، لكن نسخته المحسّنة (DEBUGX.COM) تسمح أيضًا بتصحيح أخطاء برامج DPMI 32 بت.

    يوفر DOS Debug ، المخصص للمبرمجين ذوي الخبرة ، أداة مساعدة يمكنها استبدال أمر MS DEBUG. يمكنه معالجة كل من حزم DPMI 16 بت و 32 بت ويتضمن وصفًا مفصلاً للوظيفة في الوثائق ، مما يتيح سهولة فهم ما يفعله كل أمر.