Ускорение времени при отладке в Eclipse - PullRequest
2 голосов
/ 28 ноября 2011

Есть ли способ «ускорить время» при отладке в Eclipse?

Например, предположим, что вы отлаживаете следующий фрагмент кода:

someFun();
Thread.sleep(ONE_MINUTE);
someOtherFun();

...когда достигается метод Thread.sleep (), вам нужно подождать одну минуту, чтобы продолжить отладку.Есть ли способ «ускорить время» и немедленно вернуть метод sleep ()?(Я понимаю, что это ускорение на самом деле может быть опасным, но давайте предположим, что оно не повлияет на правильность программы.)

Следующая альтернатива будет заключена в Thread.sleep () и помещена вфлаг отладки, но я бы хотел избежать внесения таких изменений в код.

Ответы [ 2 ]

2 голосов
/ 28 ноября 2011

вы можете попытаться выяснить, запущено ли приложение в режиме отладки. в зависимости от того, что вы можете установить изменить время сна. но будь осторожен. особенно если вы работаете с thread.sleep (). приложение может вести себя по-разному в зависимости от вашего варианта использования.

public static final int ONE_SECOND = 1000;
public static final int ONE_MINUTE = 60 * ONE_SECOND;
public static final int SLEEP_TIME = (java.lang.management.ManagementFactory.getRuntimeMXBean().
    getInputArguments().toString().indexOf("-agentlib:jdwp") > 0)?ONE_SECOND:ONE_MINUTE;
1 голос
/ 28 ноября 2011

Непосредственно перед выполнением Thread.sleep вы можете изменить значение ONE_MINUTE из представления переменных, используя опцию изменения значения.Похоже, это не работает для конечных полей.

Другой вариант может заключаться в переносе вызова в спящий режим в другом методе, и вы можете «Принудительно вернуть» из метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...