سؤال

هل من الممكن تثبيت x86 Remote Debugger كخدمة على جهاز 64 بت؟أحتاج إلى إرفاق مصحح أخطاء للتعليمات البرمجية المُدارة في عملية الجلسة 0.تعمل العملية بنظام 32 بت ولكن خدمة مصحح الأخطاء التي يتم تثبيتها هي 64 بت ولن يتم ربطها بعملية 32 بت.

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

إليك الخطأ عندما أحاول استخدام مصحح الأخطاء عن بعد:غير قادر على إرفاق هذه العملية.لا يمكن لإصدار 64 بت من Visual Studio Remote Debugging Monitor (MSVSMON.EXE) تصحيح عمليات 32 بت أو عمليات تفريغ 32 بت.الرجاء استخدام الإصدار 32 بت بدلاً من ذلك.

إليك الخطأ عندما أحاول إرفاقه محليًا:إن الإرفاق بعملية في جلسة خادم طرفية مختلفة غير مدعوم على هذا الكمبيوتر.حاول تصحيح الأخطاء عن بعد للجهاز وتشغيل Microsoft Visual Studio Remote Debugging Monitor في جلسة العملية.

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

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

المحلول

يعمل هذا على جهازي (TM) بعد تثبيت rdbgsetup_x64.exe والانتقال إلى معالج التكوين:

sc stop msvsmon90
sc config msvsmon90 binPath= "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe /service msvsmon90"
sc start msvsmon90

نصائح أخرى

واجهنا نفس المشكلة عند محاولة تصحيح أخطاء موقع ويب يعمل بنظام 32 بت داخل IIS 64 بت عن بُعد.

يمكنك أيضًا القيام بذلك:

  • أوقف خدمة تصحيح الأخطاء الافتراضية (والتي ستكون X64 حيث سيكون التثبيت ذكيًا وتكوين هذا واحد لتشغيله).
  • انتقل إلى مجلد قائمة DEPUGGER REMOTE وقم بتشغيل خدمة الأخطاء X86.تجاهل التحذير بشأن
    32 بت/64 بت.
  • افتح نافذة الأدوات-> خيارات نافذة تطبيق التصحيح عن بُعد وجعلها
    ملاحظة القيمة في "الخادم".
    مربع نص الاسم.
  • يمكنك الآن إرفاق استوديو Visual الخاص بك به عن طريق نسخ "اسم الخادم"
    القيمة في مربع النص/التحرير والسرد "المؤهل" على مربع الحوار المعالجة
    فيجوال ستوديو.

في ملاحظة ذات صلة، يوجد أيضًا خطأ منخفض المستوى في مصادقة Kerberos إذا كنت تقوم بالإرفاق من Windows 2008/7/Vista إلى جهاز 2003، ويتم الإبلاغ عنه إلى MS (ثم يتم إغلاقه كـ "خارجي") عبر الاتصال هنا: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=508455

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

حاول تثبيت خدمة مصحح الأخطاء عن بعد x86 يدويًا.

sc create "Remote Debugger" binpath= "C:\use\short\filename\in\the\path\x86\msvsmon.exe /service msvsmon90"

ملاحظتان:

  • ستحتاج إلى استخدام أسماء ملفات قصيرة في المسار إلى msvsmon.exe لمنع الاضطرار إلى اقتباس المسار (حيث يجب نقل الأمر بأكمله)
  • يجب أن يكون هناك مساحة بعد "binpath =" (وليس هناك مساحة قبل الحرف '=').يجب لعن من كتب محلل سطر الأوامر لأمر SC.

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

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

أستطيع أن أؤكد أن ما تريد القيام به سوف ينجح بالفعل.غالبًا ما أقوم بتوصيل أسوأ نظام XP الخاص بي 32 بت بخادم x64 win2003 باستخدام مصحح الأخطاء عن بعد VS2008.

عملت بالنسبة لي دون تثبيت برامج إضافية.لقد قمت للتو بنسخ C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger المجلد على VM وبدأ تشغيل msvsmon.exe من x86 مجلد.كلا من ضيفي ومضيفي x64.

1) تثبيت الإصدار x64.يؤدي هذا أيضًا إلى تثبيت مصحح أخطاء x86 ولكنه لا يقوم بإنشاء اختصار.

2) يمكنك العثور على الملف القابل للتنفيذ لتصحيح أخطاء عملية x86 هنا...C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE emote Debugger\x86\msvsmon.exe

3) إذا كنت تريد ذلك، قم بتثبيته على شريط المهام.

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

تصرف غريب جدا من vs

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