Как генерируются трассировки стека?

Ни один метод в программе не «знает», где он находится в стеке. Все, что он знает, это его собственная маленькая работа, и он делает это и возвращается. Итак, когда возникает исключение и выводится трассировка стека, откуда это берется?

Существует ли неявно отдельный поток, работающий рядом с каждым приложением в JVM, которое отслеживает состояние программы? Или сама JVM хранит эту информацию, и исключения как-то извлекают эти данные из нее, когда они выбрасываются?

Если это так, то можно ли использовать какой-либо вызов для извлечения трассировки стека (либо из потока монитора, либо из JVM)?без исключение?

Ответы на вопрос(4)

Ваш ответ на вопрос