Вы можете присоединить отладчик к процессу Java и установить точку останова, когда конкретный
исключение получено. Это то, что вам нужно?
С
http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/jdb.html
Когда возникает исключение, для которого
нигде нет никакого подвоха
до стека Java-программы, Java
время выполнения обычно выдает исключение
проследить и выйти. Когда работает под
JDB, однако, это исключение
рассматривается как невосстановимый
точка останова, и JDB останавливается на
оскорбительная инструкция. Если этот класс
был скомпилирован с опцией -g,
Экземпляр и локальные переменные могут быть
напечатано, чтобы определить причину
исключение.
Этот тип точек останова можно установить с помощью любой среды IDE, например Eclipse. Используя eclipse, вы также можете установить точку останова для определенного типа исключения, даже если он пойман в нормальном коде.
Если у вас работает что-то вроде многопоточного сервера, и один из потоков, обслуживающих клиента, генерирует необработанное исключение, тогда вы сможете проверить отладчик и посмотреть, что произойдет. Я не думаю, что это что-то для производства, но определенно помогает при тестировании.
Приложение не должно запускаться из отладчика, но его можно запустить с параметрами отладки в качестве аргументов:
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=XXXX
Приложение работает нормально, но при достижении точки останова переключается в «интерпретируемый» режим, по крайней мере, в более современных версиях JVM. Так что на производительность это не влияет.
Проверьте раздел о полноскоростной отладке для HotSpot VM
Полная скорость отладки
Java HotSpot VM теперь использует
отладка на полной скорости. В предыдущем
версия ВМ, когда отладка была
включена, программа выполняется с использованием
только переводчик. Теперь полный
преимущество в производительности HotSpot
технология доступна для программ,
даже с скомпилированным кодом. Улучшенный
производительность позволяет долго
программы легче отлаживать.
Это также позволяет проводить тестирование в
максимальная скорость. Когда есть
исключение, отладчик запускается с
полная видимость для источников кода.