Просмотр CallStack в Visual Studio 2010 при возникновении исключения переполнения стека - PullRequest
2 голосов
/ 10 ноября 2010

Я хочу просмотреть стек вызовов при возникновении исключения stackoverflow.(т.е. я хочу точно определить, какой рекурсивный вызов вызывает переполнение стека).Стек вызовов очищается, и все, что я вижу, это «Внешний код».

Редактировать Я последовал совету Криса Шмича (пост ниже), теперь у меня есть стек вызовов, как показано ниже, это просто простое консольное приложениечто я пишу, обратите внимание, что в скриншоте нет упоминания о Main ():

alt text

Edit2: я последовал совету Криса Шмича о просмотре стеков вызовов различных потоковОднако я все еще не могу просмотреть стек вызовов моего консольного приложения, вот что я вижу:

alt text

Ответы [ 2 ]

4 голосов
/ 11 ноября 2010

Фрейм [External Code], который вы видите, вызван функцией отладчика Just My Code. Отладчик скрывает от вас фреймы стека, потому что их нет в вашем коде. Некоторые подробности о JMC можно найти в этом блоге .

Вы можете отключить Just My Code, выполнив следующие действия:

  • Отладка »Параметры и настройки ...» снимите флажок «Включить только мой код (только управляемый)» »нажмите ОК

Теперь вы должны видеть все кадры стека.

В качестве примера JMC, когда я захожу в простое консольное приложение C # с включенным JMC, я вижу только код в своем решении ...

alt text

... и с отключенным JMC я тоже вижу код Framework ...

alt text

0 голосов
/ 11 ноября 2010

Отметьте это, пункт Загрузка символов Загрузка символов Это файлы * .pdb, и вам нужно скачать их с Microsoft, чтобы вы могли видеть внешний код.

...