كيفية تصحيح كائن COM في Visual Studio 6.0 الذي تم إنشاؤه في صفحة ASP؟

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

  •  21-08-2019
  •  | 
  •  

سؤال

لدي مكون C++ COM قديم والذي يجب أن يبقى بتنسيق Visual Studio 6.0.لا أستطيع طوال حياتي معرفة كيفية تصحيح التعليمات البرمجية في مكون COM الفعلي.

أنا قادر على إنشائه في وضع التصحيح وإضافة نقاط توقف وإرفاقه بعملية dllhost.exe، لكن بيئة Visual Studio لن تظهر لي سوى التفكيك من dllhost.exe وليس كود المصدر الخاص بي (كما أنه لا يتوقف أيضًا) على نقاط التوقف).

أتذكر منذ فترة أنه كانت هناك طريقة لجعل IIS (أو inetinfo.exe) هو ملف هدف من إجراء التصحيح الخاص بك (أيعندما يطلب منك Visual Studio 6.0 الملف القابل للتنفيذ لتشغيل ملف dll الخاص بك) وسيتم تشغيل IIS في وضع عملية واحد.كان هناك مفتاح تسجيل تحتاج إلى تغييره، لكن البحث في Google لم يساعدك.

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

المحلول

إذا هو مكون COM VB6 مقرها، يمكنك فتح المشروع في VB6 وتشغيلها (لا يمكن تشغيل مشروع DLL). خصائص المشروع لديه بعض الخيارات حيث يمكن أن يطلب منك تشغيل بحيث يتم تشغيله وتسجيل نفسه.

والآن، في محاولة لتصل إلى صفحة ASP، الأمر الذي يجعل الدعوة إلى مكون COM. سيتم ضرب نقاط المنصوص عليها في ملفات فئة، كما يتم إجراء المكالمات من صفحة ASP.

نصائح أخرى

أولاً، يجب أن يكون ملف PDB (الذي تم إنتاجه أثناء التجميع) في نفس الدليل مع DLL (يمكن تعيينه في خصائص المشروع).

إذا كان الكائن الخاص بك لا يستخدم بعض الوظائف الخاصة بـ ASP (الطلب والاستجابة وكائنات الجلسة) فيمكنك نسخ رمز الاستدعاء الخاص به إلى ملف .vbs وتصحيح الأخطاء عبر الإعداد cscript.exe your.vbs كبرنامج هدف التصحيح.

هناك تفسيرات (على سبيل المثال) كيفية تصحيح أخطاء مكتبات ISAPI DLLs - فهي قابلة للتطبيق على كائن COM الخاص بك أيضًا (من وجهة نظر نظام التشغيل/مصحح الأخطاء، كلاهما عبارة عن مكتبات DLL تم تحميلها في عملية IIS).انتبه إلى إصدار IIS الخاص بك والأشياء الموجودة/خارج العملية.

وأخيرًا، إذا لم يساعدك أي شيء آخر، يمكنك إضافة بعض التسجيل عبر OutputDebugString وظيفة ورؤيتها مجانا DebugView برنامج.

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