كيف أرى كائناتي المدارة على المكدس؟
سؤال
يمكنني استخدام SOS.DLL في VisualStudio لتصحيح برنامج C# الخاص بي. البرنامج كما هو موضح أدناه.
أمر التصحيح هو ! DumpstackObjects.
class Program
{
static void Main()
{
Int32 result = f(1);
}
static Int32 f(Int32 i)
{
Int32 j = i + 1;
return j; <===========BreakPoint is here
}
}
بعد أن أدخل الأمر "! DSO" في النافذة الفورية للاستوديو المرئي ، فإن النتيجة هي أدناه:
معرف موضوع OS: 0xF6C (3948)
اسم كائن ESP/Reg
لماذا لا يوجد شيء؟ اعتقدت أنه يجب أن يكون هناك args I والمتغير المحلي J.
شكرا على الإجابة على أسئلتي الساذجة ...
المحلول
!dumpstackobject
تفريغ المراجع على المكدس إلى الكائنات. أي لن ترى أنواع القيمة مع هذا الأمر. يستخدم !clrstack -l
لرؤية السكان المحليين (استخدام -p
لرؤية المعلمات ، و -a
لكليهما).
لا تنتمي إلى StackOverflow