Отладка Visual Studio 2008 - Пропуск кода - PullRequest
21 голосов
/ 31 августа 2009

Есть ли способ пропустить код без необходимости устанавливать точку останова после него? Я использую отладку для изучения кода с событием рисования GUI, которое запускается много раз. Я хочу посмотреть, что произойдет после того, как событие будет завершено, без необходимости нажимать кнопку "Далее" несколько раз.

Ответы [ 4 ]

44 голосов
/ 31 августа 2009
[DebuggerHidden] 

Когда этот атрибут присоединен к конструктору / методу / свойству или индексатору, тогда этот код скрыт от отладчика, вы не сможете войти в код, отладчик просто пропустит код. Даже если вы установите точку останова внутри одного из фрагментов кода, украшенного этим атрибутом, отладчик будет игнорировать его.

[DebuggerStepThrough]

Этот атрибут аналогичен атрибуту DebuggerHiddenAttribute, за исключением того факта, что вы можете установить точку останова внутри кода, который был оформлен с помощью DebuggerStepThroughAttribute, и отладчик остановится на точке останова.

[DebuggerNonUserCode]

Этот атрибут помечает часть кода как не являющуюся кодом пользователя, затем вы можете использовать его с опциями Инструменты-> Параметры-> Отладка-> Общие-> Включить только мой код, чтобы отладчик не входил в оформленный код.

7 голосов
/ 31 августа 2009

Вы можете указать условие точки останова (щелкнуть правой кнопкой мыши по значку красного кружка точки останова), чтобы точка останова прекращала выполнение только тогда, когда происходит что-то интересное.

5 голосов
/ 31 августа 2009

Вот еще один удобный: Если в данный момент вы остановились на точке останова и хотите просто перейти к какой-то другой точке кода, вы можете щелкнуть правой кнопкой мыши строку, по которой вы хотите выполнить, и выбрать «Выполнить до курсора».

4 голосов
/ 31 августа 2009

Если вы хотите выполнить код после точки останова, вплоть до другой строки, используйте предложение JMarsch «Run to Cursor».

Если вы хотите пропустить следующие строки и возобновить выполнение в другой точке, вы можете использовать мышь, чтобы перетащить желтую стрелку в левом поле окна кода - до строки, которую вы хотите выполнить следующей.

Это также полезно, если вы хотите повторно выполнить уже запущенный код - просто перетащите желтую стрелку ВВЕРХ на эту строку. Я часто использую это для «Step Into» кода, который я уже сделал «Step Over».

«Установить следующий оператор» в контекстном меню имеет тот же эффект.

-Tom Bushell

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...