У меня возникла проблема с тем, что у меня есть (частичная) программа, которая пытается загрузить класс, но не работает, потому что не может найти этот класс. Глядя на трассировку стека, я не вижу никакой конкретной причины для , почему VM пытается загрузить этот класс в первую очередь. Существуют ли какие-либо инструменты, которые позволят мне понять, почему загружается определенный класс?Java: Поиск * почему * загружен класс
Подсказка: Я уже получаю трассировку стека в точную точку, где JVM пытается загрузить класс (через агента). Однако трассировка стека не содержит номеров строк. Поэтому я знаю только, какой метод запускает загружаемый класс, а не какой оператор. Тогда даже знать это утверждение может быть недостаточно. Один оператор может вызвать загрузку класса разными способами, потому что иногда виртуальной машине требуется загрузить часть транзитивного закрытия классов.
Я не знаком с Java, но как насчет предоставления макета этого класса и в нем смотреть на стек вызовов? Если это возможно на Java, так или иначе. – balpha
Возможно, вы можете разместить Stack Trace здесь, так как кто-то может помочь в этом. –
Это может быть побочный эффект верификатора (см. Java Puzzlers). Но нужно больше информации. –