Расшифровать Java java.lang.VerifyError: Неверный тип в стеке операндов - PullRequest
0 голосов
/ 29 мая 2019

Я работаю над проектом по созданию байт-кода JVM с использованием библиотеки ASM. Когда я сделал что-то не так, и проверка байт-кода не удалась, JVM распечатывает это описательное сообщение об ошибке, которое содержит раздел под названием Байт-код, и оно в шестнадцатеричных литералах.

Пример сообщения об ошибке:

java.lang.VerifyError: Bad type on operand stack
....
....
  Bytecode:
    0x0000000: 014d 014e 0336 0401 3a05 013a 0601 3a07
    0x0000010: 013a 0801 3a09 013a 0a01 3a0b 013a 0c01
    0x0000020: 3a0d 013a 0e01 3a0f 013a 1001 3a11 013a
    0x0000030: 1201 3a13 013a 1401 3a15 0336 1601 3a17
....
....

Как использовать это напечатанное сообщение об ошибке, чтобы определить причину сбоя проверки байт-кода. Имеется ли документация по устранению ошибок такого рода.

...