Условная отладка на Visual C ++ 2008 Express
Вопрос
Есть ли способ отладки кода на Visual C ++ 2008 Express, например, я могу отслеживать переменную на предмет определенных значений и, когда она принимает это значение, прерывать?
Например, я хочу прерваться, когда x
становится 5
.В gdb я бы установил точку останова, а затем условие, которое x == 5
.Как я могу это сделать (если возможно) на Visual C ++ 2008 Express?
Решение
Хотя встроенная поддержка для этого отсутствует в выпусках Express, есть другой способ обойти это.
Я нашел это в другом ответе на аналогичный вопрос.
#if DEBUG
if( node.Name == "Book" )
System.Diagnostics.Debugger.Break();
#endif
Пример показывает, что если свойство Name совпадает с "Book", возникает точка останова.
Вот первоначальный вопрос:
Как я могу:Создать точку останова, используя Условия?[C # Экспресс]
Другие советы
Это невозможно в экспресс-версиях Visual Studio.Но это возможно в полных версиях.
Кажется, это возможно сделать даже в express, по крайней мере, здесь это сработало.Отметив точку останова, я щелкнул правой кнопкой мыши по ее отметке и установил "Условие" (проще этого быть не могло).
Затем вы можете написать выражение, которое принимает значение true .Мой коллега, который только что показал это мне, сказал, что у них есть некоторые проблемы с использованием этого для сравнения строк, но это довольно удобно для простых сравнений с использованием целых чисел.
Однако, как сказано в другом ответе, это не так быстро, как вводить код разрыва напрямую.
Повезло!Визуальная студия 2010 Express of C / C ++ действительно поддерживает это.Видишь Как сделать:Укажите условие точки останова.
Я уже пробовал это.