هل يمكنك تصحيح أخطاء تطبيق .NET باستخدام الكود المصدري لملف واحد فقط؟

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

سؤال

أرغب في تصحيح أخطاء أحد التطبيقات في Visual Studio ولكن لدي كود المصدر لفئة واحدة فقط.أحتاج فقط إلى التنقل عبر وظيفة واحدة في هذا الملف، لكنني لا أفهم ما الذي أحتاج إلى القيام به.أعتقد أن الخطوات عادة ما تكون كالتالي:

  1. افتح ملفًا في VS
  2. قم بتحميل "الرموز" (ملف .PDB)
  3. نعلق على عملية التشغيل

أعرف كيفية القيام بالرقم 1 ورقم 3، لكن لا أعرف كيفية القيام بالرقم 2 بدون ملف .PDB.هل من الممكن إنشاء ملف .PDB لهذا حتى يعمل؟شكرًا!

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

المحلول

أنت بحاجة إلى ملفات *.pdb (الخطوة 2 من رسالتك) تحتوي هذه الملفات على تعيين بين التعليمات البرمجية المصدر والتجميع المترجم.إذن خطوتك صحيحةإذا كان الملف المصدر الخاص بك يحتوي على اختلافات مع الملف الأصلي، فقم بتعيين علامة الاختيار "السماح للكود المصدري بأن يكون مختلفًا عن الإصدار الأصلي" في مربع حوار خصائص BP.

نقاط التوقف ونقاط التتبع في Visual Studio

إذا لم يكن لديك ملفات PDB يمكنك محاولة فك مشروعك باستخدام Reflector.FileDisassembler أو FileGenerator للعاكس.يمكنك إعادة ترجمة هذه الملفات للحصول على PDBs

نلقي نظرة أيضا على منحط - تصحيح الوظيفة الإضافية للعاكس.

نصائح أخرى

أنت بحاجة إلى ملف الرمز (.PDB) الذي ينتمي إلى التطبيق الذي تحاول تصحيحه.

شبكة MSDN:ملفات بي دي بي

يستخدم مصحح أخطاء Visual Studio المسار إلى PDB في ملف EXE أو DLL للعثور على ملف project.pdb.إذا لم يتمكن مصحح الأخطاء من العثور على ملف PDB في ذلك الموقع، أو إذا كان المسار غير صالح، على سبيل المثال، إذا تم نقل المشروع إلى كمبيوتر آخر، يبحث مصحح الأخطاء في المسار الذي يحتوي على ملف EXE متبوعًا بمسارات الرموز المحددة في مربع حوار الخيارات .هذا المسار بشكل عام هو مجلد التصحيح في عقدة الرموز.لن يقوم مصحح الأخطاء بتحميل PDB لا يتطابق مع الثنائي الذي يتم تصحيحه.

ملف الرمز هو ملف .pdb.إذا قمت بوضع ذلك بجوار الملف القابل للتنفيذ، فسيؤدي ذلك إلى تحميل الرموز والإشارة إلى الملف المصدر.

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

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

إذا لم تقم بإنشائه، فأنت بحاجة إلى العثور على ملف pdb للتجميع.يمكن أن تساعدك نافذة الوحدات الموجودة ضمن Debug/Windows/Modules في كثير من الأحيان من خلال إخبارك بالتجميعات التي تم تحميلها في العملية بالإضافة إلى معلومات الإصدار والطوابع الزمنية.

ستحتاج إلى هذه المعلومات في الحالات التي قد تكون هناك إصدارات متعددة للتجميع (مثل الاحتفاظ بالعديد من الإصدارات الليلية، أو آخر 20 إصدارًا أو نحو ذلك من إصدارات التكامل المستمر).

امل ان يساعد.

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