سؤال

كيف يمكنني الحصول على مكدس مكالمات كامل لتطبيق c++ تم تطويره باستخدام Visual Studio 2005؟أرغب في الحصول على مكدس مكالمات كامل بما في ذلك الكود الموجود في مكتبات النظام.

هل يجب علي تغيير بعض الإعدادات في Visual Studio أم يجب علي تثبيت برامج إضافية؟

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

المحلول

  1. احصل على معلومات التصحيح لجميع تبعيات المشروع.يتم تحديد ذلك ضمن قسم "خصائص التكوين -> C/C++ -> عام" في خصائص المشروع.

  2. في القائمة، انتقل إلى "أدوات -> خيارات" ثم حدد "تصحيح الأخطاء -> الرموز".

  3. قم بإضافة موقع رمز جديد (رمز المجلد) الذي يشير إلى خادم الرموز المجاني لـ Microsoft "symsrvSymsrv.dllج:\الرموز*http://msdl.microsoft.com/downloads/symbols

  4. املأ حقل "رموز ذاكرة التخزين المؤقت" بمكان ما محليًا حتى لا تذهب إلى الإنترنت طوال الوقت.

نصائح أخرى

اتفق مع Clay، ولكن بالنسبة لـ Symps Server، يجب أن تحصل على أحدث ملف Symsrv.DLL من "Debugging Tools For Windows"، وهو تنزيل مجاني من Microsoft.

(بما أنك طلبت صراحةً ما تحتاج إلى تنزيله، أفترض أنك لا تملكه بعد)

أو، اختياريًا (بافتراض عدم تثبيت Visual Studio)، احصل على نسخة منه أدوات تصحيح أخطاء Windows, قم بتثبيت تطبيقك وتشغيله من داخل مصحح الأخطاء (windbg.exe) أو قم بإرفاقه بتطبيق قيد التشغيل بالفعل:

Windbg[.exe] -pn Program.exe
أو
Windbg[.exe] -pprocess_id

قم بفصل مصحح الأخطاء عند النقطة التي تريد مراقبتها لتتبع المكدس (Ctrl+Break).قم بالتبديل إلى سلسلة الاهتمام (على الأرجح سلسلة التنفيذ الرئيسية):

~0 ثانية

إصلاح الرموز لوحدات النظام (وربما للتطبيق أيضًا إذا كان ذلك متاحًا):

* إصلاح رموز التطبيق
.sympath path_to_app_symbols
* قم بتكوين المكان الذي سيقوم فيه مصحح الأخطاء بتنزيل رموز النظام وتخزينها
.symfix+ path_where_system_symbols_will_be_stored
* إجبار المصحح على إعادة تحميل الرموز
.إعادة تحميل

إصدار أمر مكدس الاستدعاءات:

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