can someone point me in the right direction
さて私は試してみます。私が見つけたのはjdb
です。独自の "プリンタ"を作成する必要があります。
あなたはこれを好きではなく好奇心から尋ねているので、私はあなたが望むことをするアプリケーションを作成するまでは行かないと思いますが、それを行う他のリソース私は何も見つけられなかった)、または最後に仕事を楽にする。
jdb
(Javaデバッガー)は、JDBA(Java Platform Debugger Architecture)とJVM TI(Java Virtual Machine Tooling Interface)を使用するCLIプログラムです。
これはどのようjdb
作品です:あなたは-g
オプション(必須ではありません)を使用してコードをコンパイル
- 、
jdb
(というよりもjava
)を使用して、メインクラスを開始します。
- コンソールで
step
コマンドを使用してコードのステップ実行でステップを行うことができますが、これは、複数のバイトコード命令(ソースコード内の命令に対応するすべてのもの)
- を実行するかもしれないあなたは
stepi
いるだけ実行を使用することができます1つのバイトコード行。
- ステップバイステップで実行するにはブレークポイントを設定する必要があります。
cont
オプションは(IDEの場合と同様に)次のブレークポイントに移動します。
list
オプションを使用すると、ブレークポイント/ライン(バイトコードではない)の周りのコードを表示することができます。
- また、現在の行番号をソースファイルとバイトコードで取得することもできます(
wherei
と思います)。
もう1つのツールは、読み取り可能なバイトコードを取得するためのjavap -c
です(しかし、私はあなたがこれを知っていたと思います)。
これらのすべてで、私はあなたがどこに行くのか分かります。 jdb
を使用してステップバイステップのバイトコード実行を行うアプリケーション(Javaアプリケーションまたはシェル/ DOS)を作成し、バイトコードの一致する行をjavac -p
から選択して出力します。マルチスレッド環境でどのようにすべきかわかりません。 ASMやdirtyJOEのようなバイトコード可視化ツールもありますが、バイトコードデバッグオプションを提供しているとは思いません。
私はJVM TIがIDEのデバッガで使用されていると信じていますが、より強力で、より複雑でjdbより複雑かもしれません。
あなたが興味かもしれないいくつかのリンク:自分のためとして
、私はまた、Javaデバッグの方法について興味があった(と他のもの)働いたので、これはちょっと興味があったng。
実行して私は本当に私は理解していないよ:あなたは(ファイルまたはコンソールに)リアルタイムで実行されるバイトコードを印刷したいですか? – Asoub
リアルタイムにする必要はありませんが、そうです。それは私が目指しているものです。 – user1228633
fastdebugビルドはもう公開されていませんが、ソースコードは公開されていますので、自分で作成することができます。 JDK9のルートリポジトリはhttp://hg.openjdk.java.net/jdk9/jdk9/です。 [このreadme](http://hg.openjdk.java.net/jdk9/jdk9/raw-file/f2bdff2bd261/README-builds.html)は、始めるには最適な場所です。 –