كيف يمكنك التعرف على (الحصول على) modules/رموز التصحيح لاستخدامها عند توفر نظام التشغيل windows .dmp أو .minidmp

StackOverflow https://stackoverflow.com/questions/402314

سؤال

في طريقة بعد قراءة ويندوز *.dmp

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

فعلى سبيل المثال أنا حاليا عالقة في محاولة للحصول على رموز تحميل ntdll.dll (5.01.2600.5512).في MSVC 2005 المسار عمود في قائمة وحدات النافذة يظهر * قبل تماما pathed اسم الملف, يرفض تحميل الرموز يجب تحميلها XP/SP1/SP1a/SP2/SP3.

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

Set _NT_SYMBOL_PATH=srv*d:\SymbolCache*\\server1\Third-Party-PDB;srv*d:\SymbolCache*\\server2\Windows\Symbols*http://msdl.microsoft.com/download/symbols

ربما يكون الخطأ الرموز ، ولكن جديدة لم تحميله أين أذهب بعد ذلك ؟ هل يجب علي الاتصال العميل و اطلب ما SP لديهم تثبيت أي بقع ؟ هل يجب تثبيت هذا الجهاز ثم تشغيل المصحح مع ملف برنامج إدارة الكوارث إلى الحصول على رموز أحتاج ؟

هل كانت مفيدة؟

المحلول

ما الذي تستخدمه لتصحيح تفريغ مصغر؟ أي WinDBG أو Visual Studio؟ وكيف تم تفريغ مصغر ولدت؟

ويجب أن يكون هناك ما يكفي من المعلومات في تفريغ مصغر لحل رموز النظام دلل بشكل صحيح. هل تستخدم التحميل المحلية من الرموز أو http://msdl.microsoft.com/ ؟

تحديث: يجب أن تكون قادرا على إضافة الجمهور مخزن رمز مايكروسوفت إلى أدوات> خيارات> Debugging-> Symbols-> ملف رمز (.PDB) موقعا، ثم يدويا تحميل الرموز عن طريق النقر بزر الماوس الأيمن فوق وحدة في نافذة وحدات تحميلها إذا لم يتم ذلك تلقائيا.

وكما انها ربما (المحتمل) أن VS 2005 لا ننظر _NT_SYMBOL_PATH لحل رموز تفريغ مصغر.

نصائح أخرى

إذا كنت تكتب "Set _NT_SYMBOL_PATH = srv..."في موجه الأوامر, هناك نوعان من الأشياء في الاعتبار:

  • cmd.exe's set الأمر لا تتجاهل بيضاء, حتى يعرف هذا المتغير يسمى "_NT_SYMBOL_PATH"لا "_NT_SYMBOL_PATH".
  • يجب عليك بدء تشغيل المصحح طفلا من موجه الأوامر.ومع ذلك ، ليس عليك أن تفعل هذا إذا كنت تستخدم لوحة التحكم لتعيين المستمرة متغيرات البيئة ، أو إذا كنت تستخدم setx الأمر (في نظام التشغيل Windows Vista أو واحد من موارد Windows مجموعات).

إذا كنت وضع مسار الرمز بطريقة أخرى ، ثم هذا لا ينطبق.

وحاول اتباع التعليمات الموجودة على هذه المادة كيلوبايت ، وتأكد من تكوين مسار الرمز الخاص بك صحيح، أن WinDbg لديه حق الوصول إليها، وأن الرموز ntdll (على سبيل المثال) يتم تحميلها في الواقع إلى مخبأ رمز الخاص بك. وتنص المادة أيضا على تعليمات حول كيفية تحميل يدويا والتحقق من رموز في ذاكرة التخزين المؤقت عن طريق أداة SymChk.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top