.net - "لن يتم الوصول إلى نقطة التوقف حاليًا. يختلف رمز المصدر عن الإصدار الأصلي. "ماذا يعني هذا؟




visual-studio debugging (20)

أولاً حاولت من سطر الأوامر ؛

حذف الملفات المؤقتة من سطر الأوامر .

C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files> rd / s root

عندما أقوم بتعطيل الخيار "Enable Just My Code" في أدوات -> Options -> Debugging -> General

حل المشكلة بالنسبة لي. هو تطبيق WCF ، كان يحاول تصحيح صفحة ashx. http://blogs.msdn.com/b/zainnab/archive/2010/10/25/understanding-just-my-code.aspx

عند تصحيح الأخطاء في Visual Studio ، في بعض الأحيان أقوم بإضافة نقطة توقف ولكنه أجوف ويقول VS "لن يتم الآن تسجيل نقطة الإيقاف. رمز المصدر مختلف عن الإصدار الأصلي." من الواضح أن هذا يمنعني من القدرة على التصحيح.

ما الذي تعنيه الرسالة على الأرض؟ ما النسخة الأصلية؟ إذا كنت قد فتحت للتو الحل ولم أدخل أي تغييرات على الشفرة ، كيف يمكن أن يكون هناك "إصدار أصلي"؟


إذا كان لديك أكثر من مشروع في الحل الخاص بك ، فتأكد من تعيين المشروع الصحيح كمشروع StartUp Project . لتعيين مشروع معين كمشروع بدء تشغيل الحل الخاص بك ، انقر بزر الماوس الأيمن فوق المشروع ، واختر Set As StartUp Project .

بعد تعيين My StartUp Project بشكل صحيح ، تم الوصول إلى نقطة الإختطاف المطلوبة من قبل الخيط.


اختبرت هذا في بناء 32 بت على vs2017.

بالضبط لا شيء من الحلول عملت بالنسبة لي. أنا إعادة تشغيل ، قمت بمسح ملفات IDE ، حل بنيت نظيفة ، سحبت من ريبو بوابة وإعادة بناء الحل دون جدوى.

كنت سحب في التبعية 64bit من nuget وحالما استخدمت التجميع ، لم تكن المصادر التي يجري بناؤها في الملف التنفيذي النهائي بعد الآن ، وبدلا من ذلك تم بناء مصادر IDE المخزنة مؤقتا.

قمت بإزالة تكوين nuget ، وأزلت التجميع المشار إليه ، وقمت بتنزيل المصدر ، وقمت بإنشاء log4net يدويًا ، ووقعته ، وأضفته إلى مجلد في مشروعي ، وأضفت إليه إشارة ، وتمكنت من التصحيح مرة أخرى.

كان هذا ألمًا ، آمل أن يستيقظ في قائمة الإجابات ليراها الجميع.

تعديل: لم يكن هناك أي خطأ أثناء الإنشاء على الرغم من وجود خيار "موجه على خطأ في الإنشاء" قيد التشغيل في إعدادات IDE.


اذهب إلى

  • أدوات
    • خيارات
      • التصحيح
        • جنرال لواء

قم بإلغاء تحديد يتطلب ملفات المصدر لتتناسب تمامًا مع النسخة الأصلية


انتبه إلى نافذة "Output" في VS. وسوف اقول لكم ما هي تحميل التجميعات ومتى. قد ترى أن إصدارًا قديمًا من التجميع الخاص بك في مكان ما في المجلد قيد التحميل.

على سبيل المثال ، إذا كان لديك تجميعات متعددة وكنت تحاول حاليًا تقسيم إحدى تجميعات الدعم ، فسوف يقوم CLR بمعالجة حل التجميع ، والذي قد يقوم بتحميل ملف تجميع آخر غير الملف الذي قمت بالإشارة إليه في المشروع.


انتقل إلى: أدوات -> خيارات -> تصحيح -> عام وغير محدد "يتطلب ملفات المصدر لتتناسب تماما مع النسخة الأصلية"


بالنسبة لي كان الحل مخفيًا في Advanced Build Settings لخصائص المشروع:

لسبب غير معروف ، تم تعيينه على none : تعيينه إلى full تسبب في ضرب نقاط التوقف.

للوصول إلى مربع الحوار هذا ، افتح خصائص المشروع ، ثم انتقل إلى Build ، ثم حدد الزر Advanced... في أسفل الصفحة.


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

  • C:\Documents and Settings\%username%\AppData\Local\Temp\Temporary ASP.NET Files
  • C:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files

أخيراً حل المشكلة عندما اكتشفت أن ملف فئة قمت بنقله عمداً إلى مجلد فرعي ، وظهر بطريقة ما في المجلد الجذر. كان VS يستخدم ذلك بينما كنت أقوم بتحرير الآخر.


حاول تعطيل وإعادة نقطة الإيقاف أثناء التشغيل في وضع التصحيح بدلاً من القيام بذلك قبل تشغيل وضع التصحيح.


حدد تصحيح الأخطاء في تكوينات الحلول ، بدلاً من الإصدار


ظهرت طريقة جديدة للحصول على هذه المشكلة بدءًا من Visual Studio 2017 15.3.1 حتى 15.3.5. إذا كنت تستخدم EditorConfig ، يؤدي الخيار charset=utf8 حدوث هذه الأعراض. استنسخ فريق VS هذا ويقول إنهم يعملون عليه .

لذا ، هناك حل واحد للتعليق على سطر charset=utf8 في ملف .editorconfig.

تحرير: يجب إصلاح هذا كـ VS 15.5.


في حالتي ، كنت أعلق على عملية قيد التشغيل في VS 2012. عند إرفاق ، يتم منحك خيار تصحيح في أوضاع مختلفة (الأصلي ، النصي ، Silverlight ، المدارة 2.0 ، المدارة 4.0 ، الخ). بشكل افتراضي ، يحدد المصحح الوضع تلقائياً. ومع ذلك ، لا يقوم الخيار Automatic تلقائيًا بإجراء الاختيار الصحيح. إذا احتوت العملية على أنواع متعددة من التعليمة البرمجية ، فتأكد من أن مصحح الأخطاء يستخدم النوع الصحيح.


كان من المفترض أن يكون على Visual Studio 2017 بعد أن أضفت الملفات الموجودة إلى المشروع. هذا العمل بالنسبة لي:

  1. أغلق الحل ،
  2. انتقل إلى SolutionFolder\.vs\SolutionName\v15\sqlite3 وإزالة storage.ide
  3. افتح الحل مرة أخرى

كما تقول ، "شفرة المصدر مختلفة عن النسخة الأصلية".

انقر بزر الماوس الأيمن على مجلد المشروع داخل مستكشف الحلول واختر Clean . إنشاء نسخة جديدة من المشروع وستعمل نقطة الإيقاف مرة أخرى!


ما يعمل بالنسبة لي هو تغيير النظام الأساسي للحلول من x86 إلى أي وحدة المعالجة المركزية. بعد تغييره إلى أي ، أعددت عنوانًا للتوقف ، وشغلت موقع الويب ، وفتحت الصفحة ، وانقرت على الزر وتوقفت. أغلقت الموقع ، وتغيرت مرة أخرى إلى x86 وأجرت نفس التسلسل بنجاح.


هل فعلت هذا من قبل؟

هل ترغب في متابعة وتشغيل آخر بناء ناجح؟

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

حاول تغيير هذه القيمة:

  • أدوات
    • خيارات
      • مشاريع وحلول
        • بناء وتشغيل
          • عند التشغيل ، عند حدوث أخطاء في الإنشاء أو النشر: لا يتم التشغيل

يحدث هذا أيضاً عند تصحيح مشروع C ++ الذي يقوم بتحميل الوحدة النمطية التي تم تنفيذها مع بعض لغة CRL (Managed C ++ ، C # إلخ). في هذه الحالة رسالة الخطأ مضللة بالفعل.

الحل هو وضع خاصية التكوين دعم وقت تشغيل اللغة العامة (CLR) إلى مشروع بدء التشغيل وإعادة ترجمة ذلك.


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


يمكن أن يحدث هذا عندما يتغير وقت النظام أثناء التصحيح أو بين جلسات التصحيح ، سواء كان برمجيًا أو يدويًا أو بواسطة برنامج خارجي.


يمكنك الحصول على هذه الرسالة عندما تستخدم مُنشِّطًا ولم يتم تحميل التجميع الذي قمت بتعيين نقطة الإيقاف له.

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





debugging