Возможно ли в Eclipse определить набор точек останова и запускать их только после того, как произойдет данное событие? - PullRequest
4 голосов
/ 22 ноября 2011

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

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

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

Есть ли способ сделать что-то подобное? Если нет, то как обойти это ограничение? Единственный способ, который приходит на ум, - это определить временный синглтон, чтобы сохранить состояние, и чтобы мои точки останова низкого уровня зависели от флага этого синглтона.

Ответы [ 3 ]

1 голос
/ 22 ноября 2011

Если щелкнуть правой кнопкой мыши на breakpoint properties, вы увидите множество вариантов

breakpoint properties

0 голосов
/ 22 ноября 2011

Вы задаете несколько разных вопросов здесь.

В ответ на вопрос «Q: могу ли я установить точку останова, которая срабатывает при возникновении какого-либо события», вы можете захотеть взглянуть на «точки наблюдения»:

http://www.vogella.de/articles/EclipseDebugging/article.html

В той же статье обсуждается возможный ответ на другой ваш вопрос: «Вопрос: ... после того, как будет выполнено условие этой точки останова, с этого момента начнется запуск других точек останова ...»

Ищите"свойства точки останова", в той же статье.

'Надеюсь, это поможет!

PS: Вот еще одна короткая, но очень хорошая статья:

http://www.ibm.com/developerworks/library/os-ecbug/

0 голосов
/ 22 ноября 2011

Вы можете творчески использовать утверждения, но они по умолчанию отключены в Eclipse.

Вот хорошая ссылка, объясняющая, как включить утверждения: http://www.cis.upenn.edu/~matuszek/cit594-2004/Pages/eclipse-faq.html#assert

А вот еще информация о том, как использовать их для ваших целей: http://eclipse.dzone.com/articles/using-java-assertions-use

Из статьи:

Eclipse имеет очень полезный механизм взлома исключений. Это другой тип точки останова, которая срабатывает, когда исключение Брошенный, независимо от того, как (и если) это пойман. Если вы используете утверждения, я настоятельно рекомендую установить точку останова на утверждении ошибки при отладке вашего кода.

...