Несколько лет назад у меня было немного #define
, которое я использовал в Borland C ++ Builder. По памяти это было что-то приблизительно как
#define BREAK_IF_DEBUGGING asm(0xA3);
или что-то в этом роде. Он полагался на то, что 0XA3 (или что бы то ни было) был кодом операции для прерывания, которое Borland использовал для запуска точки останова.
Могу ли я сделать то же самое в Eclipse? (Я, вероятно, заверну это в несколько #idef ECLIPSE
и #ifdef TESTING
)
Что я надеюсь достичь здесь, так это
- конечно, код не компилируется в релизной версии.
- если я запускаю модульные тесты с помощью Ctrl-F11, то я не хочу, чтобы была запущена точка останова (чего не происходит из-за того, что Ctrl-F11 является "Run")
- если я "Запущу с отладкой", используя F11), то, если выполнение попадет в какое-либо использование макроса, он остановится на точке останова.
Почему? Потому что я хочу установить и забыть. Просто вставьте один из них в каждую ветку ошибки (или вставьте ее в мой макрос LOG_ERROR
).
Часто, когда я выбираю свою начальную точку останова, это слишком поздно, поэтому этот макрос говорит: «Я думаю, что я хочу перейти к строке X, но если выполнение проходит сначала через одну из этих ветвей ошибок, я бы хотел на этом остановиться & обнюхивать ".
Нравится ли вам идея или нет, вы можете сказать мне, как это сделать?