Я просто хочу пройтись по своей программе с помощью Visual Studio 2005, но когда я пытаюсь скопировать то, что показал мне мой учитель (вроде как), я начинаю проходить некоторые другие файлы, которые спонтанно появляются в моем окне. Они называются случайными вещами, такими как «xstring» и «ios», и я очень расстроен. Пожалуйста, как мне пройти через мой код?
Отладка Visual Studio — я просто хочу пройтись по моей программе!
Ответы (4)
Лучший способ избежать использования таких методов — установить правила NoStepInto в реестре. Прочтите эту запись в блоге, чтобы точно узнать, как это сделать. .
Если вы хотите избежать использования всей стандартной библиотеки, просто установите следующее правило:
10 std\:\:.*=NoStepInto
Для Visual Studio 2005 вам нужно добавить правило к следующему ключу
HKLM\Software\Microsoft\VisualStudio\8.0\NativeDE\StepOver
Почему это происходит: вы используете объекты из стандартной библиотеки шаблонов. Некоторые из ваших операторов явно или неявно вызывают методы этих классов STL. Вы вступаете в эти методы с помощью отладчика.
Есть два способа исправить это:
Если вы знаете, что находитесь в статусе, который вызывает метод STL, выберите команду отладчика «Шаг вперед» (F10) вместо его команды «Шаг внутрь» (F11).
Если вы попали в один из этих методов по ошибке, используйте команду отладчика «Шаг вперед» (Shift-F11).
Скорее всего, происходит то, что вы переходите к встроенным методам фреймворка. Когда это произойдет, просто нажмите «выйти», и вы вернетесь к своему собственному коду.
Вы также можете использовать "перешагнуть" для тех методов, которые, как вы знаете, встроены - конечно, рискуя переступить через методы, в которые вы хотите войти.
Я рекомендую вам обязательно размещать точки останова в каждой строке, где вы хотите проверить состояние приложения — таким образом вы можете просто использовать кнопку воспроизведения (F5).
http://mark.michaelis.net/Blog/VisualStudioKeyboardShortcutsWrapupMSDNFlashFeb22009.aspx
По сути, вы должны использовать F10 (шаг), а не F11 (шаг), когда текущая строка кода содержит вызов не вашей функции.