Как определить, откуда передается неправильное значение параметра?
Обновлен: Ноябрь 2007
Этот раздел применим к:
Выпуск |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Экспресс-выпуск |
![]() |
![]() |
Только машинный код |
![]() |
Standard |
![]() |
![]() |
Только машинный код |
![]() |
Pro и Team |
![]() |
![]() |
Только машинный код |
![]() |
Обозначения:
![]() |
Применяется |
![]() |
Неприменимо |
![]() |
Команда или команды скрытые по умолчанию. |
Описание проблемы
Одной из функций передается неправильное значение параметра. Эта функция вызывается по всей программе. Как определить, откуда передается неправильное значение?
Решение
Устранение неполадки
Установите точку останова в начале функции.
Щелкните правой кнопкой мыши точку останова и выберите пункт Условие.
В диалоговом окне Условие для точек останова установите флажок Условие. Дополнительные сведения см. в разделе Практическое руководство. Установка условия точки останова.
Введите в текстовое поле выражение, например Var==3, где Var представляет собой имя параметра, который содержит неправильное значение, а 3 — это неправильное значение, переданное параметру.
Установите переключатель в положение верно и нажмите кнопку ОК.
Запустите программу повторно. Точка останова заставит программу прервать выполнение на начале функции, когда параметр Var получит значение 3.
Затем в окне "Стек вызовов" можно найти вызывающую функцию, чтобы перейти к ее исходному коду. Дополнительные сведения см. в разделе Практическое руководство. Использование окна стека вызова.
См. также
Основные понятия
Вопросы и ответы по отладке машинного кода
Точки останова и точки отслеживания