أفضل تقنية لبدء جلسة التصحيح عن بعد لوضع المستخدم في Windbg

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

سؤال

ما هي التقنية المفضلة لديك لبدء جلسة التصحيح عن بعد لوضع المستخدم الخاص بـwindbg؟لماذا تفضل هذه التقنية على التقنيات الأخرى؟(إيجابيات / سلبيات)

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

  1. قم بتشغيل التطبيق على الهدف ثم قم بإرفاقه من المضيف Windbg
  2. اطلب من المضيف Windbg استخدام Remote.exe لتشغيل التطبيق على الهدف
  3. اطلب من مضيف "العميل الذكي" Windbg تشغيل التطبيق على الهدف عبر خادم العملية الذي يعمل على الهدف
  4. قم بتشغيل مثيل Windbg على الجهاز المستهدف باستخدام الخيار "-server" لبدء تشغيل الخادم تلقائيًا، ثم الاتصال بالخادم من جهاز ثانٍ.
هل كانت مفيدة؟

المحلول

لا يوجد حل "الأفضل".كل الاحتمالات لها مزايا وعيوب ومن الجيد أن نفهم كل منهم.يعتمد ذلك على عدة عوامل مثل:

  • أين تقع الرموز
  • أي جهاز كمبيوتر يمكنه الوصول إلى الإنترنت لتنزيل رموز نظام التشغيل
  • ما مقدار البيانات التي يمكنك نسخها إلى الخادم (غالبًا ما يقبل العملاء بشكل أفضل إذا كان مجرد ملف Exe واحد)
  • ما هو النطاق الترددي بين العميل والخادم
  • هل تحتاج إلى أوامر أخرى تستخدم CDB/WinDbg فقط، على سبيل المثال؟الوصول إلى CMD، ثم النظر في Remote.exe
  • المتوفر على جانب الخادم، أو خبير تصحيح الأخطاء الذي يمكنك بسهولة إخباره بالكثير من الأوامر المشفرة أو مستخدم عادي بالكاد يعرف كيفية بدء موجه الأوامر
  • كلا الجانبين في شبكة خاصة، لذلك تحتاج إلى خادم "رجل في المنتصف" لتتمكن من الوصول إلى بعضهما البعض (أو إعادة توجيه المنفذ كبديل، وهو ما لا يريده رجال تكنولوجيا المعلومات وقد يستغرق الأمر أيامًا لإعداده أعلى)

من بين هذه الخيارات الأربعة، لا تنس أن العملاء غالبًا ما يرغبون في رؤية ما تفعله بالضبط، لذلك يحتاجون إلى جلسة RDP أو برنامج Teamviewer أو ما شابه.وهذا شيء يفهمونه.

نصائح أخرى

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

لحسن الحظ لم أواجه أي حالات لم ينجح فيها هذا الأمر!

أميل إلى استخدام الخيار 4 (-server) لأنه الخيار الوحيد الذي لا "ينبثق" عند اقتحام مصحح أخطاء kernel لفترة كافية لانتهاء مهلة اتصال TCP.لكن هذا أكثر تعقيدًا وغير مرضٍ تمامًا.لذلك أنا أبحث عن "أفضل الممارسات".

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