Вопрос о том, как удалить точку останова Visual Studio

Скажем, у меня 10 точек останова, и я хочу очистить один, но не другой.

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

Есть ли лучший способ в ANY VS версии?

Ответ 1

Состояние точки останова временно изменено, только если вы измените его во время отладки и это точка с несколькими ограничениями. На самом деле это особенность Visual Studio. См. http://connect.microsoft.com/VisualStudio/feedback/details/391642/permanently-remove-a-breakpoint-in-visual-studio-during-debugging.

Если вы не отлаживаете, а вы удаляете его, то он не вернется. В качестве альтернативы, как и другие, вы можете удалить его навсегда с помощью окна управления точкой останова.

Ответ 2

Нажатие Ctrl + Alt + B отобразит список всех точек останова в вашем решении, из которых вы можете вручную переключить или удалить их с помощью щелчка правой кнопкой мыши.

Ответ 3

Откройте окно точек останова (Debug → Windows → Breakpoints), выберите точку останова, которую вы хотите удалить, и нажмите клавишу удаления (или щелкните значок перекрестка).

Если вы переключаете точку останова с помощью клавиатуры (F9, используя мои сопоставления с клавиатурой), она иногда не удаляет ее должным образом. Повторное нажатие F9 полностью удалит его (это связано с тем, что точка останова установлена ​​на несколько потоков и переключается на нее, в то время как отладка отключает основную точку останова, но не те, что используются для других потоков).

Ответ 4

Если вы хотите удалить точку останова с помощью F9 или щелкнув красный глиф, эта точка останова должна быть бездетной. В противном случае точка останова будет сохраняться через оставшиеся точки останова ребенка. (Резервные точки могут формироваться при установке точек останова во время отладки.)
Вы можете проверить этот вопрос: Отключить/удалить контрольные точки для детей?", чтобы макрос удалял контрольные точки для детей. Я думаю, вы не должны вызывать макрос во время сеанса отладки, так как это может привести к тому, что ваши точки останова не будут удалены.

Ответ 5

Следующий код может использоваться в качестве макроса для удаления точки останова на текущей выбранной строке. (Обратите внимание, что Visual Studio автоматически выбирает линию точки останова при ее ударе.)

Sub RemoveBreakPoint()
    Dim debugger As EnvDTE.Debugger = DTE.Debugger
    Dim children As EnvDTE.Breakpoints
    Dim sel As Integer = DTE.ActiveDocument.Selection.ActivePoint.Line
    For Each bp As EnvDTE.Breakpoint In debugger.Breakpoints
        If bp.File <> DTE.ActiveDocument.FullName Then
            Continue For
        End If
        For Each bpc As EnvDTE.Breakpoint In bp.Children
            If bpc.FileLine = sel Then
                bp.Delete()
                Exit For
            End If
        Next
    Next
End Sub

Вы можете назначить ему ярлык для быстрого доступа. (Инструменты > Параметры > Средa > Клавиатура.)

Ответ 6

Перекресток из fooobar.com/info/34469/..., но он еще более уместен здесь.

Здесь есть несколько ответов, но, на мой взгляд, предлагаемые действия отвлекают от использования во время отладки (я не хочу терять фокус).

Мой поток с липкими точками останова во время контрольных точек выглядит следующим образом:

Во время отладки ОТКЛЮЧИТЬ точку останова вместо ее удаления.

Возможные способы отключения точки останова:

  • наведите указатель мыши на курсор и щелкните значок двух циклов;
  • или используйте контекстное меню на нем;
  • или кратковременное нажатие клавиши CTRL + F9.

Позже, во время разработки, я удаляю отключенную точку останова, когда вижу ее.

PS. Также рекомендуется удалять все точки останова время от времени.