Обновление: OP изначально не давал понять, что в начале использовался неуправляемый C ++. Так что этот ответ сейчас довольно бесполезен, потому что он будет работать только с управляемым кодом. Тем не менее, я оставлю это на тот случай, если кто-то споткнется и найдет это полезным или не знает о JMC:
Хотя DebuggerStepThrough
по-прежнему является допустимым методом предотвращения перехода в код, есть моменты, когда вы действительно хотите вмешаться. Это означает, что вам нужно найти и закомментировать атрибут DebuggerStepThrough
.
.NET 2.0 представил новый атрибут: DebuggerNonUserCode
. Это работает в сочетании с параметром Отладка только моего кода в Сервис-> Параметры-> Отладка-> Общие-> Включить только мой код.
Если установлен флажок «Включить только мой код», то любой метод, украшенный атрибутом DebuggerNonUserCode
, не будет включен. Если вы хотите периодически включать отладку кода, отмеченного DebuggerNonUserCode
, просто снимите этот флажок. Это экономит время на поиск и комментирование кода, через который вы обычно не будете интересоваться.
Чтобы использовать любой атрибут, просто украсьте методы по вашему выбору, например:
// The .NET 1.1 way
[DebuggerStepThrough]
public static void IgnoreMeAlways()
{
Console.WriteLine("Hello...where is everybody!");
}
//The .NET2.0/VS2005/2008 way. Use in conjunction with Debug Just My Code
[DebuggerNonUserCode]
public static void NonUserCodeSomeTimes()
{
Console.WriteLine("Longtime no see");
}