Quanto aos depuradores, eu pessoalmente já fiz um para bytecode, faz parte do meu projeto reJ. Infelizmente o projeto está parado faz anos e esse parte de depurar ficou pouco maduro. Mas pra visualizar bytecode de uma forma legível eu ainda acho uma ferramente útil.
A interface de depuração do Java permite você solicitar o JVM executar um comando bytecode e parar novamente.