سؤال

وحتى الآن لقد استعملت دائما مصدر إطار ASP.NET MVC من أجل التصحيح ASP.NET MVC. على جهاز الكمبيوتر المحمول وحاولت فقط نهجا مختلفا، وهي تنشئة "وحدات" نافذة في VS بينما أنا التصحيح وبزر الماوس الأيمن فوق System.Web.Mvc، ثم حدد "تحميل الرموز من"> "ملقمات Microsoft رمز".

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

وهكذا، أنا حملت الرموز، ولكن لا يوجد حتى الآن شفرة المصدر. ليست مشكلة كبيرة منذ أستطيع تصحيح ذلك بالطريقة القديمة. لكنني أتساءل ما هي ملقمات Microsoft رمز مفيدة لذلك؟

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

المحلول

وأنها تجعل آثار كومة تعمل بشكل صحيح ل DLL الأم - بدون رموز وآثار الكدسة غالبا ما تذهب فقط بقدر ما أقرب DLL ويندوز، ثم توقف. مع رموز، فإنها لا تزال من خلال دلس Winodws. يمكنك مشاهدة أسماء وظيفة، ولكن ليس شفرة المصدر (واضح).

والتصحيح برنامج Windows الأصلي، غالبا ما تحصل آثار كومة من هذا القبيل:

  mydll.dll
  mydll.dll
  some_windows_dll.dll
  some_windows_dll.dll
  some_other_windows_dll.dll
  some_other_windows_dll.dll
  myexe.exe
  myexe.exe

وبدون رموز ل DLL ويندوز، وستجد أن كومة يحصل فقط إلى هذا الحد:

  mydll.dll
  mydll.dll
  some_windows_dll.dll

وكنت لا تحصل على رؤية كل في طريق العودة إلى البداية.

نصائح أخرى

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

وأنا لا بأس به من التصحيح تعليمات برمجية تمت إدارتها باستخدام WinDbg + سوس وأنا بحاجة إلى حفر في الجزء الأصلي على أساس منتظم. تذكر أن لOS تطبيق تتم إدارته لا يختلف من تطبيق غير المدارة. في نهاية المطاف تطبيق تتم إدارته سوف ندعو إلى دلس Win32 و. لتفقد تلك التي بحاجة إلى رموز المناسبة.

ومنها مثلا. إذا كنت بحاجة إلى معرفة تفاصيل عن مكالمة تمكن محددة، كنت حقا بحاجة الى ان ننظر في التعليمات البرمجية الأصلية. مثال واحد يمكن أن يكون عندما ترى Monitor.Enter فيكم كومة إدارتها. لا تستطيع ان تقول حقا من النظر إلى يطلق عليه النفس إذا صدر الدعوة فقط أو إذا كان موضوع ينتظر فعلا (*). عن طريق الإغراق مكدس الاستدعاءات الأصلي، يمكنك معرفة ما إذا صدرت دعوة إلى WaitForMultipleObjects.

و(*) وأعلام دولة الأمر !threads سوف تساعدك هنا، ولكن إذا كنت ترغب في تفاصيل تفريغ المكدس الأصلي لا تزال مفيدة جدا.

لم أجد ملقم الرموز لكي تكون مفيدة للدلس تمكن - كنت لا تزال تحصل آثار كومة تمكن بدونها. أعتقد أن القيمة الرئيسية في حرف تمكنت هي خط المعلومات العدد، ولكن ما الذي تنوي القيام به مع ذلك؟

وأنا لا يمكن أن يعيش بدون رموز تصحيح التعليمات البرمجية الأصلية ومع ذلك،. و مصدر الخادم مفيد جدا في الواقع.

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