
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.10.2012, 16:37:22
|
|||
|---|---|---|---|
|
|||
Вопрос по работе c JDI |
|||
|
#18+
Вопрос в следующем - необходимо запустить выполнение метода отлаживаемого класса: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Проблема в том, что если его выполнить не в блоке обработки событий BreakpointEvent, то вылетает сообщение - IncompatibleThreadStateException . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.10.2012, 16:44:50
|
|||
|---|---|---|---|
|
|||
Вопрос по работе c JDI |
|||
|
#18+
Так это ожидаемо и логично. Метод можно выполнить только во время остановки на конкретной breakpoint. Отсюда и это ограничение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.10.2012, 16:48:13
|
|||
|---|---|---|---|
|
|||
Вопрос по работе c JDI |
|||
|
#18+
Blazkowicz,ну хорошо. Я допустим, думаю, что логично было также выполнять метод при выполнении MethodExitEvent или MethodEnterEvent, к примеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.10.2012, 16:57:33
|
|||
|---|---|---|---|
|
|||
Вопрос по работе c JDI |
|||
|
#18+
aby_2503Я допустим, думаю, что логично было также выполнять метод при выполнении MethodExitEvent или MethodEnterEvent, к примеру. Необосновано. JDI это отладка. Когда останавливается breakpoint, у вас есть некий Frame - текущее состояние потока. В контексте этого фрейма вы можете выполнять методы, делать другие вычисления и смотреть значения переменных. В других событиях, которые не Breakpoint/Watchpoint поток ведь не приостанавливается. И никакого текущего фрейма при этом нет. Если вам нужно просто абстрактный код выполнить по событию, то это ведь через рефлексию можно сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.10.2012, 17:09:57
|
|||
|---|---|---|---|
|
|||
Вопрос по работе c JDI |
|||
|
#18+
Blazkowicz, я хочу использовать JDI для тестирования. Моя цель - после запуска приложения, сэмулировать последовательность нажатий на кнопки (на их listeners поставить breakpoints и уже в этих breakpoints сравнивать полученные значения). А на счет рефлексии, на сколько я понимаю, то с помощью JDI я не смогу достучаться до экземпляра интересующего меня класса. Максимум, что я смогу получить - ObjectReference этого объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.10.2012, 17:19:54
|
|||
|---|---|---|---|
|
|||
Вопрос по работе c JDI |
|||
|
#18+
aby_2503Blazkowicz, я хочу использовать JDI для тестирования. ОК aby_2503Моя цель - после запуска приложения, сэмулировать последовательность нажатий на кнопки (на их listeners поставить breakpoints и уже в этих breakpoints сравнивать полученные значения). Если речь про Swing, то этот подход не будет работать. В GUI критично чтобы события выполнялись в Event Dispatch Thread. Поэтому нормальный способ это создать событие и положить в EventQueue. Иначе GUI сломается. aby_2503А на счет рефлексии, на сколько я понимаю, то с помощью JDI я не смогу достучаться до экземпляра интересующего меня класса. Максимум, что я смогу получить - ObjectReference этого объекта. JDI работает только в контексте bootstrap загрузчика? Ну и используйте BreakPoint-ы. Зачем вам Method Entry/Exit? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2130833]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 283ms |
| total: | 437ms |

| 0 / 0 |
