Условная отладка в Visual C ++ 2008 Express - PullRequest
1 голос
/ 08 января 2010

Есть ли способ отладки кода в Visual C ++ 2008 Express, например, я могу наблюдать переменную для определенных значений и, когда она принимает это значение, ломаться?

Например, я хочу разбить, когда x становится 5. В GDB я бы установил точку останова, а затем условие x == 5. Как я могу сделать это (если возможно) в Visual C ++ 2008 Express?

Ответы [ 4 ]

3 голосов
/ 08 января 2010

Хотя встроенная поддержка для него отсутствует в экспресс-версиях, есть и другой способ обойти это.

Я нашел это в другом ответе на похожий вопрос.

#if DEBUG
if( node.Name == "Book" )
    System.Diagnostics.Debugger.Break();
#endif

В примере показано, что если свойство Name соответствует «Book», возникает точка останова.

Вот оригинальный вопрос:

Как мне: создать точку останова, используя условия? [C # Экспресс]

2 голосов
/ 08 января 2010

Это невозможно в Express-версиях Visual Studio. Но это возможно в полных версиях.

0 голосов
/ 30 ноября 2010

Лаки! Visual Studio 2010 Экспресс C / C ++ поддерживает это. См. Как: указать условие точки останова .

Я пробовал.

0 голосов
/ 08 января 2010

Кажется, это можно сделать даже в экспрессе, по крайней мере, здесь это сработало. Отметив точку останова, я щелкнул правой кнопкой мыши на ее отметке и установил «Условие» (это не могло быть проще)

! Установка условия

Тогда вы можете написать выражение, которое оценивается как true. Мой коллега, который только что показал это мне, сказал, что у них есть некоторые проблемы с использованием этого для сравнения строк, но это довольно удобно для простых сравнений с использованием целых чисел.

! Окно состояния

Однако, как сказано в другом ответе, это не так быстро, как ввод кода прерывания напрямую.

...