Thread.Sleep(1000); // this will fix .NET's crappy threading implementation
[DebuggerHidden]
Когда этот атрибут прикреплен к конструктору / методу / свойству или индексатору, этот код скрыт от отладчика, вы не сможете войти в код, отладчик просто пропустит код. Даже если вы установите точку останова внутри одного из фрагментов кода, украшенного этим атрибутом, отладчик проигнорирует это.
[DebuggerStepThrough]
Этот атрибут совпадает с атрибутом DebuggerHiddenAttribute, за исключением того факта, что вы можете установить точку останова внутри кода, который был украшен атрибутом DebuggerStepThroughAttribute, и отладчик остановится в точке останова.
[DebuggerNonUserCode]
Эти атрибуты помечают часть кода как не являющуюся кодом пользователя, затем вы можете использовать это с опцией Инструменты-> Параметры-> Отладка-> Общие-> Включить только мой код, чтобы отладчик не входил в оформленный код.
Вот еще один удобный: Если в настоящее время вы остановились на точке останова и хотите просто перейти к какой-либо другой точке кода, вы можете щелкнуть правой кнопкой мыши строку, в которую хотите перейти, и выбрать «Перейти к курсору».
Если вы хотите выполнить код после точки останова до другой строки, используйте предложение JMarsch «Run to Cursor».
Если вы хотите пропустить следующие строки и возобновить выполнение в другой момент вы можете использовать мышь, чтобы перетащить желтую стрелку в левом поле окна кода - вниз до строки, которую вы хотите выполнить следующей.
Это также полезно, если вы хотите повторно выполнить некоторый код, который уже запущен - просто перетащите желтую стрелку ВВЕРХ на эту строку. Я часто использую это для кода «Step Into», для которого я уже сделал «Step Over».
«Установить следующий оператор» в контекстном меню имеет тот же эффект.
-Tom Bushell
]Вы можете указать условие точки останова (щелкните правой кнопкой мыши точку останова красный кружок), чтобы точка останова останавливала выполнение только тогда, когда происходит что-то интересное.