Какие альтернативы интерфейсу отладки Java
Я работал с JDI API в JPDA. Но из-за некоторых ограничений я застрял в какой-то момент. Каковы альтернативы JDI, чтобы я мог писать собственные отладчики для программ Java? Желательно альтернативы Java.
1 ответ
JDI реализован поверх собственного API JVMTI. Так что, если вы готовы приложить усилия для реализации собственного кода агента отладки, вы можете избежать уровня JDI.
Тем не менее, я сомневаюсь, что это поможет вам в дальнейшем. Я подозреваю, что ограничения в JDI на самом деле являются ограничениями в самом нативном API JVMTI. (Но вы можете проверить спецификацию JVMTI, чтобы узнать, поддерживает ли она нужные вам функции.)
Есть ли альтернатива JVMTI?
AFAIK, нет. По крайней мере, не для последних выпусков Oracle Hotspot!
(Спецификации JDPA признают, что не все реализации Java собираются реализовать спецификацию, поэтому существует вероятность того, что реализации Java других производителей выполняют отладку по-разному. Однако интеграция между ядром JRE и JVMTI представляет собой большую работу по разработке программного обеспечения, поэтому маловероятно, что Oracle (или кто-либо еще) реализует альтернативу JVMTI для Hotspot.)