أجهزة الكمبيوتر شبابيك إنترنت

تثبيت أدوات التصحيح لنظام التشغيل Windows. أدوات تصحيح أخطاء Windows: تشخيص وإصلاح أدوات تصحيح الأخطاء الزرقاء لاستخدام Windows

في 22 يونيو 2010

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

نظام التشغيل Windows 10

يمكن تنزيل أحدث إصدار من Windbg لنظام التشغيل Windows 7 من الرابط https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk

ويندوز 7

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

تقوم الحزمة أعلاه بتثبيت إصدار windbg 6.12. إذا كنت تريد تثبيت windbg سريعًا ، فيمكنك الانتقال إلى الإصدار الأقدم (6.11) والذي يمكن تنزيله من
الرابط الوارد في نهاية هذا المنشور.

بمجرد الانتهاء من التثبيت ، يمكنك العثور على البرنامج في قائمة ابدأ -> كافة البرامج -> أدوات التصحيح لنظام التشغيل Windows -> Windbg

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

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

أنواع مقالب تحطم Windows

باستخدام مثال نظام التشغيل الحالي Windows 10 (Windows Server 2016) ، سننظر في الأنواع الرئيسية لتفريغ الذاكرة التي يمكن للنظام إنشاؤها:

  • تفريغ ذاكرة صغيرة(256 كيلوبايت). يحتوي نوع الملف هذا على قدر ضئيل من المعلومات. إنه يحتوي فقط على رسالة خطأ الموت الزرقاء ، ومعلومات حول برامج التشغيل ، والعمليات التي كانت نشطة في وقت التعطل ، وأي عملية أو مؤشر ترابط kernel تسبب في التعطل.
  • تفريغ ذاكرة Kernel... عادة ما تكون صغيرة الحجم - ثلث الذاكرة الفعلية. تفريغ ذاكرة kernel مطول أكثر من تفريغ صغير. يحتوي على معلومات حول برامج التشغيل والبرامج في وضع kernel ، ويتضمن الذاكرة المخصصة لـ Windows kernel وطبقة تجريد الأجهزة (HAL) ، والذاكرة المخصصة لبرامج التشغيل والبرامج الأخرى في وضع kernel.
  • تفريغ الذاكرة الكامل... الأكبر حجمًا ويتطلب ذاكرة مساوية لذاكرة الوصول العشوائي لنظامك بالإضافة إلى 1 ميجابايت ، النوافذ المطلوبةلإنشاء هذا الملف.
  • تفريغ الذاكرة التلقائي... يتوافق مع تفريغ ذاكرة kernel من حيث المعلومات. يختلف فقط في مقدار المساحة التي يستخدمها لإنشاء ملف التفريغ. نوع الملف هذا غير موجود في Windows 7. تمت إضافته في Windows 8.
  • تفريغ الذاكرة النشط... يقوم هذا النوع بتصفية العناصر التي لا يمكنها تحديد سبب فشل النظام. تمت إضافة هذا في نظام التشغيل Windows 10 وهو مفيد بشكل خاص إذا كنت تستخدم جهازًا افتراضيًا أو إذا كان نظامك عبارة عن مضيف Hyper-V.

كيف يمكنني تمكين تفريغ الذاكرة على Windows؟

استخدم Win + Pause لفتح نافذة إعدادات النظام ، حدد " معلمات النظام الإضافية"(إعدادات النظام المتقدمة). في علامة التبويب " بالإضافة إلى"(متقدم) ، قسم" "(بدء التشغيل والاسترداد) ، انقر فوق" خيارات"(إعدادات). في النافذة التي تفتح ، قم بتكوين الإجراءات في حالة فشل النظام. حدد مربع الاختيار " اكتب الأحداث في سجل النظام(اكتب حدثًا في سجل النظام) ، حدد نوع التفريغ الذي سيتم إنشاؤه عند تعطل النظام. إذا كان في مربع الاختيار " استبدال ملف التفريغ الموجود"(الكتابة فوق أي ملف موجود) حدد المربع ، ثم ستتم الكتابة فوق الملف عند كل فشل. من الأفضل إزالة مربع الاختيار هذا ، ثم سيكون لديك المزيد من المعلومات للتحليل. تعطيل أيضًا إعادة التشغيل التلقائي للنظام (إعادة التشغيل تلقائيًا).

في معظم الحالات ، يكفي تفريغ ذاكرة صغيرة لتحليل سبب الموت الزرقاء.

الآن ، عند حدوث الموت الزرقاء ، يمكنك تحليل ملف التفريغ والعثور على سبب الأعطال. يتم حفظ التفريغ المصغر في المجلد٪ systemroot٪ \ minidump افتراضيًا. لتحليل ملف التفريغ ، أوصي باستخدام البرنامج WinDBG(مصحح أخطاء Microsoft Kernel).

تثبيت WinDBG على نظام ويندوز

جدوى WinDBGمدرج في " Windows 10 SDK(Windows 10 SDK). ...

يسمى الملف winsdksetup.exeحجم 1.3 ميغا بايت.

قم بتشغيل التثبيت واختر ما تريد القيام به بالضبط - قم بتثبيت الحزمة على هذا الكمبيوتر أو تنزيلها للتثبيت على أجهزة كمبيوتر أخرى. قم بتثبيت الحزمة على جهاز الكمبيوتر المحلي الخاص بك.

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

بمجرد التثبيت ، يمكن العثور على اختصارات WinDBG في قائمة البداية.

تكوين اقتران ملفات .dmp مع WinDBG

لفتح ملفات التفريغ بنقرة بسيطة ، قم بمطابقة ملحق .dmp مع الأداة المساعدة WinDBG.

  1. افتح سطر الأوامركمسؤول وقم بتشغيل الأوامر لنظام 64 بت: cd C: \ Program Files (x86) \ Windows Kits \ 10 \ Debuggers \ x64
    windbg.exe –IA
    لنظام 32 بت:
    C: \ Program Files (x86) \ Windows Kits \ 10 \ Debuggers \ x86
    windbg.exe –IA
  2. نتيجة لذلك ، سيتم ربط أنواع الملفات: .DMP ، .HDMP ، .MDMP ، .KDMP ، .WEW - بـ WinDBG.

إعداد خادم رمز التصحيح في WinDBG

رموز التصحيح (رموز التصحيح أو ملفات الرموز) عبارة عن كتل من البيانات تم إنشاؤها أثناء تجميع برنامج مع ملف قابل للتنفيذ. تحتوي كتل البيانات هذه على معلومات حول أسماء المتغيرات والوظائف والمكتبات وما إلى ذلك. هذه البيانات ليست ضرورية عند تنفيذ البرنامج ، ولكنها مفيدة عند تصحيحه. يتم تجميع مكونات Microsoft برموز موزعة من خلال Microsoft Symbol Server.

تكوين WinDBG إلى استخدام مايكروسوفتخادم الرموز:

  • افتح WinDBG ؛
  • اذهب إلى القائمة ملف –> مسار ملف الرمز ؛
  • أضف سطرًا يحتوي على عنوان URL لتنزيل رموز التصحيح من موقع Microsoft على الويب والمجلد لحفظ ذاكرة التخزين المؤقت: SRV * E: \ Sym_WinDBG * http: //msdl.microsoft.com/download/symbols في المثال ، يتم تحميل ذاكرة التخزين المؤقت في المجلد E: \ Sym_WinDBG ، يمكنك تحديد أي ملف.
  • تذكر أن تحفظ التغييرات في القائمة ملف–>حفظ مساحة العمل ؛

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

SRV * E: \ Sym_WinDBG * http: //msdl.microsoft.com/download/symbols؛ c: \ Symbols

إذا لم يكن لديك اتصال بالإنترنت ، فقم بتنزيل حزمة الرموز من مورد Windows Symbol Packages أولاً.

تحليل تفريغ الأعطال في WinDBG

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

يتم إدخال الأوامر في سطر الأوامر الموجود أسفل النافذة.

أهم شيء يجب الانتباه إليه هو رمز الخطأ ، والذي يشار إليه دائمًا بقيمة سداسية عشرية ويبدو 0xXXXXXXXX(مشار إليه في أحد الخيارات - STOP: ، 02.07.2019 0008F ، 0x8F). في مثالنا ، رمز الخطأ هو 0x139.

يطالبك مصحح الأخطاء بتشغيل الأمر! Analyze -v ، ما عليك سوى تحريك مؤشر الماوس فوق الارتباط والنقر. ما هو هذا الأمر ل؟

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

النقاط الرئيسية التي يجب الانتباه إليها عند التحليل بعد تشغيل! Analyze –v الأمر (القائمة غير مكتملة).

1: دينار>! تحليل -v


* *
* تحليل فحص الأخطاء *
* *
*****************************************************************************
الاسم الرمزي لخطأ STOP (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
وصف الخطأ (أحد مكونات kernel أتلف بنية بيانات مهمة. قد يسمح هذا التلف للمهاجم بالتحكم في هذا الجهاز):

أحد مكونات kernel أتلف بنية بيانات مهمة. من المحتمل أن يسمح التلف لمستخدم ضار بالتحكم في هذا الجهاز.
وسيطات الخطأ:

الحجج:
Arg1: 0000000000000003 ، تم إتلاف LIST_ENTRY (أي إزالة مزدوجة).
Arg2: ffffd0003a20d5d0 ، عنوان إطار الملائمة للاستثناء الذي تسبب في فحص الأخطاء
Arg3: ffffd0003a20d528 ، عنوان سجل الاستثناء للاستثناء الذي تسبب في التحقق من الخطأ
Arg4: 0000000000000000 ، محفوظة
تفاصيل التصحيح:
------------------

يوضح العداد عدد المرات التي تعطل فيها النظام بسبب خطأ مشابه:

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: FAIL_FAST_CORRUPT_LIST_ENTRY

رمز خطأ STOP بتنسيق مختصر:

BUGCHECK_STR: 0x139

العملية التي حدث فيها الفشل أثناء التنفيذ (ليس بالضرورة سبب الخطأ ، فقط في وقت حدوث فشل في الذاكرة كانت هذه العملية قيد التشغيل):

PROCESS_NAME: sqlservr.exe

فك تشفير رمز الخطأ: اكتشف النظام تجاوز سعة المخزن المؤقت للمكدس في هذا التطبيق ، مما قد يسمح للمهاجمين بالتحكم في هذا التطبيق.

ERROR_CODE: (NTSTATUS) 0xc0000409 - اكتشف النظام تجاوز المخزن المؤقت المستند إلى المكدس في هذا التطبيق. قد يسمح هذا التجاوز لمستخدم ضار بالتحكم في هذا التطبيق.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 - اكتشف النظام تجاوز المخزن المؤقت المستند إلى المكدس في هذا التطبيق. قد يسمح هذا التجاوز لمستخدم ضار بالتحكم في هذا التطبيق.

آخر مكالمة على المكدس:

LAST_CONTROL_TRANSFER: من fffff8040117d6a9 إلى fffff8040116b0a0

مكدس الاستدعاء في وقت الفشل:

STACK_TEXT:
ffffd000`3a20d2a8 fffff804`0117d6a9: 00000000`00000139 00000000`00000003 ffffd000`3a20d5d0 ffffd000`3a20d528: nt! KeBugCheckEx
ffffd000`3a20d2b0 fffff804`0117da50: ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2: nt! KiBugCheck إرسال + 0x69
ffffd000`3a20d3f0 fffff804`0117c150: 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000: nt! KiFastFailDispatch + 0xd0
ffffd000`3a20d5d0 fffff804`01199482: ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 fffff804`000006f9: nt! KiRaiseSecurityCheckFailure + 0x3d0
ffffd000`3a20d760 fffff804`014a455d: 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951: nt! ؟؟ :: FNODOBFM :: `string" + 0x17252
ffffd000`3a20d8c0 fffff804`013a34ac: 00000000`00000004 00000000`00000000 ffffd000`3a20d9d8 ffffe001`0a34c600: nt! IopSynchronousServiceTail + 0x379
ffffd000`3a20d990 fffff804`0117d313: ffffffff`fffffffe 00000000`00000000 00000000`00000000 000000eb`a0cf1380: nt! NtWriteFile + 0x694
ffffd000`3a20da90 00007ffb`475307da: 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000: nt! KiSystemServiceCopyEnd + 0x13
000000ee`f25ed2b8 00000000`00000000: 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000: 0x00007ffb`475307da

قسم الكود الذي حدث فيه الخطأ:

المتابعة:
NT! KiFastFailDispatch + d0
fffff804`0117da50 c644242000 موف بايت ptr، 0
FAULT_INSTR_CODE: 202444c6
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt! KiFastFailDispatch + d0
FOLLOWUP_NAME: MachineOwner

اسم الوحدة النمطية في جدول كائن kernel. إذا اكتشف المحلل مشكلة في برنامج التشغيل ، فسيتم عرض الاسم في حقلي MODULE_NAME و IMAGE_NAME:

MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe

1: دينار> lmvm nt
تصفح قائمة الوحدات الكاملة
تم تحميل ملف صورة الرمز: ntkrnlmp.exe
ملف صورة الذاكرة المعينة: C: \ ProgramData \ dbg \ sym \ ntoskrnl.exe \ 5A9A2147787000 \ ntoskrnl.exe
مسار الصورة: ntkrnlmp.exe
اسم الصورة: ntkrnlmp.exe
الاسم الداخلي: ntkrnlmp.exe
الأصل اسم الملف: ntkrnlmp.exe
الإصدار: 6.3.9600.18946
الإصدار: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)

في المثال أعلاه ، أشار التحليل إلى ملف kernel ntkrnlmp.exe. عندما يشير تحليل تفريغ الذاكرة إلى برنامج تشغيل نظام (مثل win32k.sys) أو ملف kernel (مثل ntkrnlmp.exe في مثالنا) ، فمن المرجح هذا الملفليس سبب المشكلة. في كثير من الأحيان اتضح أن المشكلة تكمن في برنامج تشغيل الجهاز ، إعدادات BIOSأو عطل في الأجهزة.

إذا رأيت أن الموت الزرقاء ناتج عن برنامج تشغيل تابع لجهة خارجية ، فسيتم تحديد اسمه في قيمتي MODULE_NAME و IMAGE_NAME.

على سبيل المثال:

مسار الصورة: \ SystemRoot \ system32 \ drivers \ cmudaxp.sys
اسم الصورة: cmudaxp.sys

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

أدوات التصحيح لنظام التشغيل Windows- تصحيح أدوات كود التشغيل أنظمة النوافذ... إنها مجموعة من البرامج المجانية من 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 من ISO صورة Windows SDK.
  • تثبيت أدوات التصحيح لنظام التشغيل Windows مباشرة من حزم dbg_amd64.msi /dbg_x86.msi.

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

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

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

نضغط على العنصر تثبيت SDK... بعد النقر ، قم بتنزيل وتشغيل ملف sdksetup.exe ، والذي يبدأ التثبيت عبر الإنترنت لـ Windows SDK. في المرحلة الأولية ، سيتحقق المثبت من تثبيت حزمة .NET Framework على النظام. احدث اصدار(حاليًا 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" وانقر أدناه فقط على الرابط "الحصول على صورة ISO لقرص DVD "...

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

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

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

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


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

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

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

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

في حالة حدوث مشكلات أثناء تثبيت أدوات التصحيح لنظام التشغيل Windows بالطريقتين السابقتين ، لا يزال لدينا واحدة أخرى ، أكثرها موثوقية واختبارًا للوقت ، والتي ساعدت ، إذا جاز التعبير ، أكثر من مرة. ذات مرة ، قبل الدمج في Windows SDK ، كانت أدوات التصحيح لنظام التشغيل Windows متاحة كمثبت منفصل .msi ، والذي لا يزال من الممكن العثور عليه الآن ، ومع ذلك ، بالفعل في أحشاء مجموعة توزيع Windows 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 الأداة المساعدة لتحويل الرموز من مستويين إلى 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 (NTSD). مصحح الأخطاء ، مماثل لـ cdb ، إلا أنه يقوم بإنشاء مربع نص عند بدء التشغيل. مثل cdb ، ntsd قادر على تصحيح كل من تطبيقات وحدة التحكم والتطبيقات الرسومية.
pdbcopy.exe أداة مساعدة لإزالة الرموز الخاصة من ملف رمز ، والتحكم في الرموز العامة المدرجة في ملف الرمز.
remote.exe أداة لتصحيح الأخطاء عن بعد والتحكم عن بعد في أي مصحح أخطاء وحدة تحكم KD و CDB و NTSD. يسمح لك بتشغيل كل أدوات تصحيح أخطاء وحدة التحكم هذه عن بُعد.
rtlist.exe عارض المهام البعيدة. يتم استخدام الأداة المساعدة لسرد العمليات الجارية من خلال عملية خادم DbgSrv.
symchk.exe أداة لتنزيل الرموز من خادم رموز Microsoft وإنشاء ذاكرة تخزين مؤقت للرموز المحلية.
symstore.exe أداة لإنشاء شبكة أو تخزين رموز محلي (2-tier / 3-tier). مخزن الرموز هو دليل متخصص على القرص تم إنشاؤه وفقًا لهيكل معين ويحتوي على رموز. في الدليل الجذر للرموز ، يتم إنشاء بنية المجلدات الفرعية بأسماء مماثلة لأسماء المكونات. في المقابل ، يحتوي كل من هذه المجلدات الفرعية على مجلدات فرعية متداخلة بأسماء خاصة يتم الحصول عليها عن طريق تجزئة الملفات الثنائية. تقوم الأداة المساعدة symstore بمسح مجلدات المكونات وإضافة مكونات جديدة إلى مخزن الرموز حيث يمكن لأي عميل استردادها. يُقال إن symstore يُستخدم لاسترداد الرموز من تخزين ذي مستوى 0 ووضعها في تخزين من مستويين / 3 طبقات.
tlist.exe عارض المهام. أداة لسرد جميع العمليات الجارية.
umdh.exe الأداة المساعدة كومة تفريغ وضع المستخدم. أداة مساعدة لتحليل أكوام (كومة) العملية المحددة. يسمح لك بعرض خيارات متنوعة للكومة.
usbview.exe عارض USB. أداة لعرض أجهزة USB المتصلة بالكمبيوتر.
vmdemux.exe ديمولتيبليكسير آلة افتراضية... يقوم بإنشاء عدة توجيهات إخراج مسماة لاتصال COM واحد. تُستخدم القنوات لتصحيح أخطاء المكونات المختلفة للجهاز الظاهري
windbg.exe وضع المستخدم في واجهة المستخدم الرسومية ومصحح أخطاء وضع kernel.

تقديم WinDBG - الجزء 1

الكسندر انتيبوف

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


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

هذه هي المقالة الأولى في سلسلة عن WinDBG. قائمة بجميع المقالات المدرجة في هذه الدورة:

  • الجزء 1 - التثبيت ، الواجهة ، الرموز ، تصحيح الأخطاء عن بعد / محلي ، نظام المساعدة ، الوحدات النمطية ، السجلات.
  • الجزء 2 - نقاط التوقف.
  • الجزء 3 - فحص الذاكرة ، تصحيح أخطاء البرنامج خطوة بخطوة ، نصائح وحيل.

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

تثبيت WinDBG

مقارنةً بـ Windows 7 ، خضعت عملية تثبيت WinDBG في Windows 8 لتغييرات طفيفة. في هذا القسم ، سنرشدك خلال تثبيت مصحح الأخطاء لكلا نظامي التشغيل.

تثبيت WinDBG على نظام التشغيل Windows 8

في Windows 8 ، تم تضمين WinDBG في Windows Driver Kit (WDK). يمكنك تثبيت Visual Studio و WDK أو تثبيت حزمة أدوات التصحيح لنظام التشغيل Windows 8.1 بشكل منفصل ، والتي تتضمن WinDBG.

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

الشكل 1: تحديد نوع التثبيت

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

بمجرد انتهاء برنامج التثبيت من عمله ، انتقل إلى الدليل حيث تم تنزيل الحزمة (افتراضيًا يكون c: \ Users \ Username \ Downloads \ Windows Kits \ 8.1 \ StandaloneSDK) وانتقل إلى إجراء التثبيت.

تثبيت WinDBG على نظام التشغيل Windows 7 والإصدارات الأقدم

بالنسبة لنظام التشغيل Windows 7 والإصدارات الأقدم ، يتم تضمين WinDBG في حزمة أدوات التصحيح لنظام التشغيل Windows ، والتي تم تضمينها مع Windows SDK و. NET Framework. ستحتاج إلى تنزيل برنامج التثبيت ، ثم تحديد "أدوات التصحيح لنظام التشغيل Windows" أثناء عملية التثبيت.

أثناء التثبيت ، قمت بتحديد خيار أدوات التصحيح في قسم الحزم القابلة لإعادة التوزيع لإنشاء مُثبِّت مستقل لتسهيل عمليات التثبيت اللاحقة.

الشكل 2: تحديد خيارات التثبيت لإنشاء مُثبِّت مستقل

عند الانتهاء من التثبيت ، يجب أن يكون لديك مثبتات WinDBG للأنظمة الأساسية المختلفة (في الدليل c: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Redist \ Debugging Tools for Windows \).

الشكل 3: مجلد مع مثبتات WinDBG لأنظمة أساسية مختلفة

واجهة WinDBG

الشكل 4: ظهور WinDBG

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

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

الشكل 5: نافذة أوامر WinDBG

حرف او رمز

في معظم الحالات ، لا يتطلب WinDBG أي إعدادات خاصة ويعمل بشكل صحيح خارج الصندوق. لكن الشيء المهم الذي يجب تهيئته هو الرموز. الرموز هي الملفات التي يتم إنشاؤها باستخدام الملف القابل للتنفيذ أثناء تجميع البرنامج وتحتوي على معلومات التصحيح (الوظائف وأسماء المتغيرات). تسمح لك معلومات التصحيح باستكشاف وظائف التطبيق الخاص بك أثناء التصحيح أو التفكيك. يتم تصنيف العديد من مكونات Microsoft برموز يتم توزيعها من خلال Microsoft Symbol Server. مع بقية الملفات القابلة للتنفيذ ، كل شيء ليس ورديًا جدًا - نادرًا ما تأتي الملفات التي تحتوي على معلومات تصحيح الأخطاء مع التطبيق. في معظم الحالات ، تقيد الشركات الوصول إلى هذه المعلومات.

لتكوين WinDBG لاستخدام Microsoft Symbol Server ، انتقل إلى File: Symbol File Path وقم بتعيين SRV * C: \ Symbols * http: //msdl.microsoft.com/download/symbols. بالطبع ، من الغريب استخدام العلامات النجمية كفاصل. بعد إعداد Microsoft Symbol Server ، يتم تنزيل الرموز إلى المجلد C: \ Symbols.

الشكل 6: تكوين Microsoft Symbol Server

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

SRV * C: \ Symbols * http: //msdl.microsoft.com/download/symbols؛ c: \ SomeOtherSymbolFolder

إضافة الرموز أثناء التصحيح

إذا كنت بحاجة إلى استيراد الرموز أثناء تصحيح الأخطاء ، فيمكنك القيام بذلك باستخدام .sympath (ستظهر نافذة أوامر عند ربط عملية ما). على سبيل المثال ، لإضافة المجلد c: \ SomeOtherSymbolFolder ، أدخل الأمر التالي:

0: 025>. simpath + c: \ SomeOtherSymbolFolder
مسار البحث عن الرمز هو: SRV * C: \ Symbols * http: //msdl.microsoft.com/download/symbols؛ c: \ SomeOtherSymbolFolder
مسار البحث عن الرموز الموسع هو: srv * c: \ الرموز * http: //msdl.microsoft.com/download/symbols؛ c: \ someothersymbolfolder

لن يكون من الضروري إعادة تحميل الرموز بعد إضافة المسارات أو تغييرها:

0: 025> إعادة تحميل
إعادة تحميل الوحدات الحالية
................................................................
...............................................

التحقق من الرموز المحملة

لمعرفة الوحدات النمطية التي تم تحميل الرموز فيها ، يمكنك استخدام x *! Command. على الرغم من أن WinDBG يقوم بتحميل الرموز حسب الحاجة فقط ، فإن x *! سيعرض الرموز التي يمكن تحميلها. يمكنك فرض تحميل الرموز باستخدام الأمر ld * (قد يستغرق ذلك بعض الوقت ، ويمكنك إيقاف هذه العملية بالانتقال إلى Debug: Break).

يمكننا الآن رؤية الرموز الخاصة بكل وحدة.

الشكل 8: قائمة الرموز

تصحيح عملية محلية

عند تصحيح أخطاء عملية محلية ، يكون لديك مساران:

  1. ربط عملية قيد التشغيل بالفعل.
  2. ابدأ العملية من خلال WinDBG.

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

تبدأ العملية

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

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

الشكل 9: تحديد الملف القابل للتنفيذ للتصحيح

عملية اتصال

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

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

الشكل 10: تحديد العملية المراد ربطها

إذا علق التطبيق عمله بعد الاتصال ، فيمكنك استخدام وضع "Noninvaise" عن طريق تحديد مربع الاختيار المقابل.

تصحيح أخطاء عملية بعيدة

قد تحتاج أحيانًا إلى تصحيح أخطاء عملية على نظام بعيد. سيكون من الأنسب القيام بذلك باستخدام مصحح أخطاء محلي بدلاً من استخدام جهاز ظاهري أو RDP. أو ربما تقوم بتصحيح أخطاء عملية LoginUI.exe ، والتي لا تتوفر إلا عندما يكون النظام مقفلاً. في مثل هذه الحالات ، يمكنك استخدام الإصدار المحلي من WinDBG والاتصال بالعمليات عن بُعد. هناك طريقتان أكثر شيوعًا لإنجاز هذه المهام.

جلسات التصحيح الحالية

إذا كنت قد بدأت بالفعل في تصحيح أخطاء البرنامج محليًا (عن طريق الاتصال أو بدء عملية من خلال WinDBG) ، فيمكنك إدخال أمر محدد وسيقوم WinDBG بتشغيل مستمع يمكن لمصحح الأخطاء عن بُعد الاتصال به. للقيام بذلك ، استخدم الأمر .server:

الخادم TCP: المنفذ = 5005

بعد تشغيل الأمر أعلاه ، قد ترى تحذيرًا مثل هذا:

الشكل 11: رسالة تحذير قد تظهر بعد تشغيل الأمر لإنشاء "مستمع"

ثم سيقوم WinDBG بالإبلاغ عن تشغيل الخادم:

0: 005> الخادم tcp: المنفذ = 5005
0: -remote tcp: المنفذ = 5005 ، الخادم = USER-PC

يمكنك الآن الاتصال من مضيف بعيد بجلسة تصحيح أخطاء موجودة بالانتقال إلى "ملف: الاتصال بجلسة عمل بعيدة" وكتابة شيء مثل هذا في حقل النص: tcp: Port = 5005، Server = 192.168.127.138

الشكل 12: الاتصال عن بعد بجلسة تصحيح

بمجرد الاتصال ، ستتلقى تأكيدًا على العميل البعيد:


بدأ الخادم. يمكن للعميل الاتصال بأي من سطور الأوامر هذه
0: -Remote tcp: المنفذ = 5005 ، الخادم = USER-PC
MACHINENAME \ User (tcp 192.168.127.138:13334) متصل في الاثنين 16 ديسمبر 09:03:03 2013

ورسالة إلى النسخة المحليةالمصحح:

MACHINENAME \ User (tcp 192.168.127.138:13334) متصل في الاثنين 16 ديسمبر 09:03:03 2013

إنشاء خادم بعيد

يمكنك أيضًا إنشاء خادم منفصل باستخدام WinDBG ، والاتصال به عن بُعد وتحديد عملية لتصحيح الأخطاء. يمكن القيام بذلك باستخدام ملف dbgsrv.exe حيث تخطط لتصحيح العمليات. لبدء مثل هذا الخادم ، قم بتشغيل الأمر التالي:

dbgsrv.exe -t tcp: المنفذ = 5005

الشكل 13: بدء تشغيل الخادم البعيد

مرة أخرى ، قد تتلقى تحذيرًا أمنيًا يجب عليك قبوله:

الشكل 14: رسالة الأمان التي قد تظهر أثناء بدء تشغيل خادم التصحيح

يمكنك الاتصال بخادم التصحيح إذا انتقلت إلى الملف "File: Connect to Remote Stub" وأدخلت السطر التالي في حقل النص: tcp: المنفذ = 5005 ، الخادم = 192.168.127.138

الشكل 15: الاتصال بخادم التصحيح

بعد الاتصال ، لن تتلقى أي إشارات بأنك متصل ، ولكن إذا انتقلت إلى "ملف: إرفاق عملية" ، سترى قائمة بعمليات خادم التصحيح (حيث يتم تشغيل dbgsrv.exe). يمكنك الآن ربط العملية كما لو كنت تقوم بها محليًا.

نظام المساعدة

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

يمكنك أيضًا الحصول على معلومات مساعدة لأمر معين. على سبيل المثال ، للحصول على مساعدة بخصوص الأمر .reload ، استخدم الأمر التالي:

windbg> .hh .reload

أو انتقل إلى قسم المساعدة: المحتويات.

الوحدات

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

بعد الاتصال بالعملية ، سيعرض WinDBG تلقائيًا الوحدات النمطية المحملة. على سبيل المثال ، تظهر الوحدات النمطية أدناه بعد الاتصال بـ calc.exe:

Microsoft (R) Windows Debugger الإصدار 6.12.0002.633 X86
حقوق النشر (c) Microsoft Corporation. كل الحقوق محفوظة.

*** انتظر مع إرفاق معلق
مسار البحث عن الرمز هو: SRV * C: \ Symbols * http: //msdl.microsoft.com/download/symbols
مسار البحث القابل للتنفيذ هو:
ModLoad: 00a70000 00b30000 C: \ Windows \ system32 \ calc.exe
ModLoad: 77630000 7776c000 C: \ Windows \ SYSTEM32 \ ntdll.dll
ModLoad: 77550000 77624000 C: \ Windows \ system32 \ kernel32.dll
تحميل مودل: 75920000 7596a000 C: \ Windows \ system32 \ KERNELBASE.dll
ModLoad: 76410000 77059000 C: \ Windows \ system32 \ SHELL32.dll
ModLoad: 77240000 772ec000 C: \ Windows \ system32 \ msvcrt.dll
ModLoad: 76300000 76357000 C: \ Windows \ system32 \ SHLWAPI.dll
تحميل مودل: 75cd0000 75d1e000 C: \ Windows \ system32 \ GDI32.dll
تحميل مودل: 75fa0000 76069000 C: \ Windows \ system32 \ USER32.dll
تحميل مودل: 777b0000 777ba000 C: \ Windows \ system32 \ LPK.dll
ModLoad: 774b0000 7754d000 C: \ Windows \ system32 \ USP10.dll
ModLoad: 73110000 732a0000 C: \ Windows \ WinSxS \ x86_microsoft.windows.gdiplus_
6595b64144ccf1df_1.1.7600.16385_none_72fc7cbf861225ca \ gdiplus.dll
ModLoad: 75a80000 75bdc000 C: \ Windows \ system32 \ ole32.dll
مودلود: 76360000 76401000 C: \ Windows \ system32 \ RPCRT4.dll
ModLoad: 777c0000 77860000 C: \ Windows \ system32 \ ADVAPI32.dll
ModLoad: 75be0000 75bf9000 C: \ Windows \ SYSTEM32 \ sechost.dll
ModLoad: 76270000 762ff000 C: \ Windows \ system32 \ OLEAUT32.dll
ModLoad: 74590000 745d0000 C: \ Windows \ system32 \ UxTheme.dll
ModLoad: 74710000 748ae000 C: \ Windows \ WinSxS \ x86_microsoft.windows.common-
ModLoad: 703d0000 70402000 C: \ Windows \ system32 \ WINMM.dll
ModLoad: 74c80000 74c89000 C: \ Windows \ system32 \ VERSION.dll
مودلود: 77770000 7778f000 C: \ Windows \ system32 \ IMM32.DLL
ModLoad: 75c00000 75ccc000 C: \ Windows \ system32 \ MSCTF.dll
مودلود: 74130000 7422b000 C: \ Windows \ system32 \ WindowsCodecs.dll
ModLoad: 74260000 74273000 C: \ Windows \ system32 \ dwmapi.dll
تحميل مودل: 756d0000 756dc000 C: \ Windows \ system32 \ CRYPTBASE.dll
ModLoad: 75e60000 75ee3000 C: \ Windows \ system32 \ CLBCatQ.DLL
ModLoad: 6ef10000 6ef4c000 C: \ Windows \ system32 \ oleacc.dll

لاحقًا أثناء عملية التصحيح ، يمكنك عرض هذه القائمة مرة أخرى باستخدام الأمر lmf:

0: 005> lmf
بدء اسم الوحدة النمطية
00a70000 00b30000 calc C: \ Windows \ system32 \ calc.exe
6ef10000 6ef4c000 oleacc C: \ Windows \ system32 \ oleacc.dll
703d0000 70402000 WINMM C: \ Windows \ system32 \ WINMM.dll
73110000 732a0000 gdiplus C: \ Windows \ WinSxS \ x86_microsoft.windows.gdiplus_6595b64144ccf1df_
1.1.7600.16385_none_72fc7cbf861225ca \ gdiplus.dll
74130000 7422b000 WindowsCodecs C: \ Windows \ system32 \ WindowsCodecs.dll
74260000 74273000 dwmapi C: \ Windows \ system32 \ dwmapi.dll
74590000 745d0000 UxTheme C: \ Windows \ system32 \ UxTheme.dll
74710000 748ae000 COMCTL32 C: \ Windows \ WinSxS \ x86_microsoft.windows.common-
الضوابط_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc \ COMCTL32.dll
74c80000 74c89000 الإصدار C: \ Windows \ system32 \ VERSION.dll
756d0000 756dc000 CRYPTBASE C: \ Windows \ system32 \ CRYPTBASE.dll
75920000 7596a000 برنامج KERNELBASE C: \ Windows \ system32 \ KERNELBASE.dll
75a80000 75bdc000 ole32 C: \ Windows \ system32 \ ole32.dll
75be0000 75bf9000 sechost C: \ Windows \ SYSTEM32 \ sechost.dll
75c00000 75ccc000 MSCTF C: \ Windows \ system32 \ MSCTF.dll
75cd0000 75d1e000 GDI32 C: \ Windows \ system32 \ GDI32.dll
75e60000 75ee3000 CLBCatQ ج: \ Windows \ system32 \ CLBCatQ.DLL
75fa0000 76069000 USER32 C: \ Windows \ system32 \ USER32.dll
76270000 762ff000 OLEAUT32 C: \ Windows \ system32 \ OLEAUT32.dll
76300000 76357000 SHLWAPI C: \ Windows \ system32 \ SHLWAPI.dll
76360000 76401000 RPCRT4 C: \ Windows \ system32 \ RPCRT4.dll
76410000 77059000 SHELL32 C: \ Windows \ system32 \ SHELL32.dll
77240000 772ec000 msvcrt C: \ Windows \ system32 \ msvcrt.dll
774b0000 7754d000 USP10 C: \ Windows \ system32 \ USP10.dll
77550000 77624000 kernel32 C: \ Windows \ system32 \ kernel32.dll
77630000 7776c000 ntdll C: \ Windows \ SYSTEM32 \ ntdll.dll
77770000 7778f000 IMM32 C: \ Windows \ system32 \ IMM32.DLL
777b0000 777ba000 LPK C: \ Windows \ system32 \ LPK.dll
777c0000 77860000 ADVAPI32 C: \ Windows \ system32 \ ADVAPI32.dll

يمكنك أيضًا معرفة عنوان التنزيل لوحدة نمطية معينة باستخدام الأمر "lmf m":

0: 005> lmf m kernel32
بدء اسم الوحدة النمطية
77550000 77624000 kernel32 C: \ Windows \ system32 \ kernel32.dll

يمكنك أيضًا الحصول على معلومات حول رأس الصورة لوحدة معينة باستخدام! Dh ( علامة تعجبيشير إلى امتداد):

0: 005>! Dh kernel32

نوع الملف: DLL
قيم رأس الملف
آلة 14C (i386)
4 عدد الاقسام
4A5BDAAD طابع التاريخ الزمني الاثنين 13 يوليو 21:09:01 2009

0 مؤشر ملف لجدول الرموز
0 عدد الرموز
حجم E0 للرأس الاختياري
2102 الخصائص
تنفيذ
32 بت آلة الكلمات
DLL

قيم الرأس الاختيارية
10B السحر #
9.00 نسخة رابط
حجم C4600 من الكود
حجم C800 من البيانات التي تمت تهيئتها
0 حجم البيانات غير المهيأة
510C5 عنوان نقطة الدخول
1000 قاعدة من الكود
----- الجديد -----
77550000 قاعدة صورة
محاذاة 1000 قسم
200 ملف محاذاة
3 النظام الفرعي (Windows CUI)
إصدار نظام التشغيل 6.01
إصدار صورة 6.01
إصدار النظام الفرعي 6.01
حجم الصورة D4000
800 حجم من الرؤوس
المجموع الاختباري D5597
00040000 حجم احتياطي المكدس
00001000 حجم تنفيذ المكدس
00100000 حجم احتياطي الكومة
00001000 حجم تنفيذ الكومة
140 خصائص DLL
قاعدة ديناميكية
متوافق مع NX
B4DA8 [A915] عنوان دليل التصدير
BF6C0 [1F4] عنوان دليل الاستيراد
C7000 [520] عنوان دليل الموارد
0 [0] عنوان دليل الاستثناءات
0 [0] عنوان دليل الأمان
C8000 [B098] عنوان دليل تغيير الموقع الأساسي
C5460 [38] عنوان دليل التصحيح
0 [0] عنوان دليل الوصف
0 [0] عنوان الدليل الخاص
0 [0] عنوان دليل تخزين الموضوع
816B8 [40] عنوان تحميل دليل التكوين
278 [408] عنوان Bound Import Directory
1000 [DE8] عنوان استيراد دليل جدول العناوين
0 [0] عنوان Delay Import Directory
0 [0] عنوان COR20 Header Directory
0 [0] عنوان الدليل المحجوز

عنوان القسم رقم 1
اسم النص
الحجم الافتراضي C44C1
1000 عنوان افتراضي
حجم C4600 من البيانات الأولية
800 ملف مؤشر للبيانات الخام

0 عدد عمليات الترحيل
0 عدد الأسطر
60000020 أعلام
الشفرة
(لم يتم تحديد محاذاة)
نفذ القراءة

دلائل التصحيح (2)
اكتب حجم عنوان المؤشر
تنسيق cv 25 c549c c4c9c: RSDS ، GUID ، 2 ، kernel32.pdb
(10) 4 c5498 c4c98

عنوان القسم رقم 2
اسم البيانات
الحجم الافتراضي FEC
العنوان الظاهري C6000
حجم E00 من البيانات الأولية
مؤشر ملف C4E00 إلى البيانات الأولية
0 مؤشر ملف إلى جدول النقل
0 مؤشر ملف لأرقام الأسطر
0 عدد عمليات الترحيل
0 عدد الأسطر
أعلام C0000040
البيانات التي تمت تهيئتها
(لم يتم تحديد محاذاة)
قراءة و كتابة

عنوان القسم رقم 3
اسم .rsrc
520 حجم افتراضي
العنوان الظاهري C7000
600 حجم البيانات الخام
مؤشر ملف C5C00 إلى البيانات الأولية
0 مؤشر ملف إلى جدول النقل
0 مؤشر ملف لأرقام الأسطر
0 عدد عمليات الترحيل
0 عدد الأسطر
40000040 أعلام
البيانات التي تمت تهيئتها
(لم يتم تحديد محاذاة)
يقرأ فقط

عنوان القسم رقم 4
اسم .reloc
الحجم الافتراضي B098
العنوان الظاهري C8000
حجم B200 من البيانات الأولية
مؤشر ملف C6200 للبيانات الأولية
0 مؤشر ملف إلى جدول النقل
0 مؤشر ملف لأرقام الأسطر
0 عدد عمليات الترحيل
0 عدد الأسطر
42000040 أعلام
البيانات التي تمت تهيئتها
يمكن التخلص منها
(لم يتم تحديد محاذاة)
يقرأ فقط

الرسائل والاستثناءات

بعد الاتصال بإحدى العمليات ، يتم أولاً عرض قائمة بالوحدات النمطية ، ومن ثم قد تظهر رسائل أخرى. على سبيل المثال ، عندما نتشبث بـ calc.exe ، يقوم WinDBG تلقائيًا بتعيين نقطة توقف (وهي مجرد علامة تستخدم لإيقاف التطبيق). يتم عرض معلومات نقطة التوقف:

(da8.b44): استثناء تعليمات الاستراحة - الكود 80000003 (الفرصة الأولى)

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

السجلات

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

بعد الاتصال بـ calc.exe ، يعرض WinDBG تلقائيًا معلومات حول السجلات التالية:

eax = 7ffd9000 ebx = 00000000 ecx = 00000000 edx = 776cd23d esi = 00000000 edi = 00000000
CS = 001b ss = 0023 ds = 0023 es = 0023 fs = 003b gs = 0000 efl = 00000246

لاحقًا ، يمكنك تكرار هذه المعلومات مرة أخرى باستخدام الأمر r:

0: 005> ص
eax = 7ffd9000 ebx = 00000000 ecx = 00000000 edx = 776cd23d esi = 00000000 edi = 00000000
eip = 77663540 esp = 02affd9c ebp = 02affdc8 iopl = 0 nv up ei pl zr na pe nc
CS = 001b ss = 0023 ds = 0023 es = 0023 fs = 003b gs = 0000 efl = 00000246
ntdll!
77663540 سم مكعب int 3

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

0: 005> r eax
إي إكس = 7ffd9000

يمكن الحصول على معلومات من عدة سجلات في نفس الوقت على النحو التالي:

0: 005> r eax ، ebp
eax = 7ffd9000 ebp = 02affdc8

مؤشر للتعليمات

الأمر الأخير مخصص للتعليمات القابلة للتنفيذ. هنا يتم عرض المعلومات أيضًا على الشاشة ، كما في حالة الأمر r ، لما يحتويه سجل EIP. EIP عبارة عن سجل يحتوي على موقع التعليمات التالية ليتم تنفيذها من قبل المعالج. ما يعرضه WinDBG هو ما يعادل الأمر u eip L1 ، وبعد ذلك ينتقل WinDBG إلى العنوان المحدد في سجل EIP ، ويحول هذا القسم إلى رمز تجميع ويعرضه على الشاشة.

ntdll!
77663540 سم مكعب int 3

ابق على تواصل

في المقالات المستقبلية ، سننظر في كيفية استخدام WinDBG في بيئة حية: نقاط التوقف ، وتصحيح الأخطاء خطوة بخطوة ، ومسح الذاكرة. لا تقم بالتبديل! ج.

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

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

قم بتنزيل أداة تصحيح الأخطاء لنفسك

يمكنك تنزيل Windows Debugging Tools مباشرة من موقع Microsoft على الويب. يعمل البرنامج مع مجموعة متنوعة من أنظمة التشغيل من Windows NT 4 إلى Windows 2008 ، لذلك لن يكون لديك أي مشاكل معها. نعم ، لا يمكن القول أنه مستقر تحت Windows 7 RC ، ولكن وفقًا لاختباراتنا ، فإنه لا يزال يعمل. لذلك ، قد تنجح حتى محاولة تشخيص المشكلة من خلال Windows 7 RC.

تكوين النظام الخاص بك

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

بعد ذلك ، انقر فوق Start (ابدأ) ، وانتقل إلى All Programs (كافة البرامج) ، وحدد Debugging Tools (أدوات التصحيح) ، ثم قم بتشغيل WinDbg. في البرنامج ، انتقل إلى قائمة ملف وحدد مسار ملف الرمز ... ثم اكتب السطر التالي في النافذة التي تفتح:

SRV * c: \ الرموز * http: //msdl.microsoft.com/download/symbols

يحدد الأخير المسار إلى البيانات الخاصة - ما يسمى بـ "الرموز" ، والتي يمكن أن تساعد أداة التصحيح في تحديد ملفك المعيب.

بعد إدخال الخط ، انقر فوق الزر "موافق". لاحقًا ، عند العمل مع مصحح الأخطاء ، سيقوم هذا السطر بتنزيل الرموز من msdl.microsoft.com وحفظها في المجلد c: \ codes.

حل مشكلتك

انتظر الآن الانهيار التالي بشاشة زرقاء ، ثم الانتهاء من إعادة تشغيل الكمبيوتر. ثم قم بتشغيل WinDbg مرة أخرى (يحتاج مستخدمو Vista إلى تشغيل البرنامج كمسؤول) ، وانقر فوق قائمة File ، وحدد Open Crash Dump ، وافتح الملف \ Windows \ MEMORY.DMP ، وسيبدأ البرنامج على الفور في تحليله.

لسوء الحظ ، يوفر WinDbg القليل جدًا من المعلومات حول ما يفعله ، لذلك قد تعتقد أن البرنامج قد تم تجميده. ومع ذلك ، انتظر. يمكن أن يستغرق فهم وتحليل ، على سبيل المثال ، ذاكرة 4 جيجابايت على جهاز كمبيوتر غير قوي للغاية بعض الوقت ، حتى ساعات. لذلك تحلى بالصبر ، والأفضل ترك التحليل ليلاً.

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

يجب أن أقول أنه من وقت لآخر لا يستطيع WinDbg تسمية الملف على الإطلاق ، أو ببساطة يختار أحد مكتبات DLL الخاصة بـ Windows. إذا حدث هذا معك ، فما عليك سوى النقر فوق نافذة الأوامر أعلى شريط الحالة واكتب الأمر:

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

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