Вопрос о том, как удалить точку останова 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. Также рекомендуется удалять все точки останова время от времени.