كيف يمكنني جعل '.cmdtree' نافذة في قفص الاتهام عند بدء التشغيل في WinDbg?

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

  •  27-09-2019
  •  | 
  •  

سؤال

لقد تابعت تيس Ferrandez' بلوق إنشاء سمة مخصصة في WinDbg.

كما بدأت في إطلاق WinDbg تلقائيا مع -ج ".cmdtree c:\mycmdtree.txt"

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

أي أفكار ؟

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

المحلول

هذا طلب بسيط تبين معقدة حقا.WinDbg نافذة الوظائف المحفوظة في مساحة العمل.WinDbg عدة الافتراضي مساحات العمل:

  • قاعدة - هذه هي مساحة العمل التي يتم استخدامها قبل البدء في التصحيح (أي تفريغ مفتوحة ، أي exe مفتوحة لا تعلق على أي شيء)
  • في ملف تفريغ - لكل تفريغ تفتح لديك مساحة عمل هذا الملف
  • في الملف القابل للتنفيذ - لكل ملف قابل للتنفيذ فتح.
  • وضع المستخدم استخدامها عندما كنت تعيش في وضع المستخدم التصحيح
  • وضع Kernel - تستخدم عند وضع kernel التصحيح
  • لكل آلة العمارة - 1 x64 ، 1 ل x86, & 1 IA64
  • عن بعد تستخدم عند تصحيح الأخطاء عن بعد

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

إذا قمت بفتح ملف تفريغ ، يمكنك الحصول على قاعدة+في ملف تفريغ إذا كنت تعيش في وضع المستخدم التصحيح, يمكنك الحصول على قاعدة+وضع المستخدم إذا كنت تعيش نواة تصحيح x64 الجهاز ، يمكنك الحصول على قاعدة+وضع Kernel+x64

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

بالإضافة إلى المدمج في مساحات العمل و كل من تركيبات هناك اسمه (العملاء) مساحات العمل.هذه ستكون عندما تذهب إلى ملف > حفظ مساحة العمل و توفير اسم حفظ جميع الإعدادات التي يمكنك تمكين في إطلاق Windbg باستخدام-W وسيطة سطر الأوامر.

عودة إلى سؤالك.كيف يمكنني الحصول على .cmdtree لفتح ؟ في قاعدة مساحة لا يمكنك.العديد من النوافذ متوفرة فقط عند المصحح ليس في حالة سبات (في قاعدته مساحة العمل).مرة واحدة يمكنك الحصول على المصحح في أي من الدول نشاطا ، ثم هذه النوافذ المتاحة.

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

أفضل رهان هو أن تفعل ما كنت تفعل الفعل الذي هو مجرد استخدام -c في التسجيل (HKEY_CLASSES_ROOT\WinDbg.DumpFile.1\shell\Open\command).هذا سوف يسمح لك فقط انقر نقرا مزدوجا تفريغ والحصول على هذه خيارات سطر الأوامر في كل مرة تقومون به تفريغ التحليل.ثم يمكنك إنشاء اختصار إلى windbg الذي يشتمل أيضا على سطر الأوامر حتى هذه الإعدادات سيتم تطبيقها على أنواع أخرى من التصحيح يمكنك القيام به.

هنا هو بلدي سطر الأوامر من regkey أعلاه:

"c:\debuggers\x64\windbg.exe" زي "%1" -Q -W الداخلية -c ".تحميل winde.dll;.enable_unicode 1;.ignore_missing_pages 1;.logopen /t C:\Users\jasone\Logs\debug.log؛.p .عملية /p /r;كما .t .الموضوع /p /r;كما !p !العملية ؛ كما !t !ترابط ؛ كما .f .الإطار ؛ كما dv-dv /V /i /t ؛ كما .f .الإطار"

ماذا تفعل هذا ؟

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

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