Условная отладка в 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++ поддерживает это. См. Как: Указать условие точки останова.
Я попробовал это.