Смешанный код и отсутствующие данные в окне стека вызовов
Этот раздел применим к:
Выпуск |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium и Ultimate |
Из-за различий между стеками вызовов в управляемом и машинном коде отладчик не всегда может отображать полный стек вызовов для кода смешанного типа. Если машинный код вызывает управляемый код, можно заметить следующие несоответствия в окне Стек вызовов:
Стековый фрейм машинного кода, расположенный непосредственно над управляемым кодом, может отсутствовать в окне Стек вызовов. Дополнительные сведения см. в разделе Практическое руководство. Выход из пошагового выполнения управляемого кода, когда фрагменты машинного кода не отображаются в окне стека вызовов.
В приложениях со смешанным кодом, запущенных вне отладчика, в окне Стек вызовов могут отображаться только ссылки на управляемый код, и не будет отображаться ни один из стековых фреймов машинного кода.
Оба случая встречаются достаточно редко. В большинстве случаев вызова управляемого кода из машинного кода стек вызовов отображается правильно.