Условная отладка в Visual C++ 2008 Express

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

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

4 ответа

Решение

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

Я нашел это в другом ответе на подобный вопрос.

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

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

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

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

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

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

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

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

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

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

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

Я попробовал это.