2017-08-30 6 views
3

私のルートプロジェクトの下にあるデバッグjarファイルを使用すると、デバッグをクリックするとプログラムが起動しますが、ブレークポイントは設定されていないので停止しません私の質問がありJAR intellijまたはコマンドラインをデバッグする

jarファイルにそれを行うにはどのようにわからない最初の文ではなく、停止し--inspect-brkinfoでそれを行うためのオプションがあるのNode.jsでjarファイルは:))、である

  1. プログラムのjarのの最初の行でどうやって停止できますか?
  2. 私の設定はOKですか?あなたはブレークポイントを設定できない場合はどのようにすることができますことができ、デバッグジャーへ

enter image description here

Oterwise、...

はEDIT:

私が提案して試してみましたcrazycoderのそれは動作していない、任意のアイデアですか?

私が試したことは、私はまた

java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler zte.jar + decomplie/ 
で試してみたが見つからない

のコースのerorrを得た私のルートプロジェクトのdecomplieフォルダの下に作成し、次のコマンド

java -jar fernflower.jar zte.jar + decomplie/ 

を実行することです

メインクラスが見つかりませんでした。またはロードできませんでした。 org.jetbrains.java.decompiler.main.decompiler.Consoleデコンパイラ

このjar(fernflower.jar)またはそのパスを取得する方法は?

EDIT2

マイプロジェクトこの

-myjavaproj 

--zte.jar 
--decomile 
---zte.jar 
---com.proj.cli 
----appmain.java 

答えて

1

;デバッガを動作させるには、deps.zipのすべてのjarをいくつかの場所に解凍してから、新しいIntelliJ IDEAプロジェクトを作成してmodule dependenciesにすべてのjarファイル(ルートzte.jarand all the jarsdeps.zipから展開したものを含む)を追加する必要があります。

self.jar内のCliExecutorを参照すると、プロジェクトビューで、IntelliJ IDEAはそれを逆コンパイルし、ブレークポイントを配置してデバッグします。

+0

現在、私は '.class'ファイルをデバッグすることができましたが、フローを追跡するのが非常に難しいので、Intellijでは分解された' .java'ファイルをデバッグする方法がありますか?( ' java -cp ... ')私はすべての.javaファイルを分解されたフォルダに入れました...ありがとう! –

1

あなたの設定は少し奇妙な、しかし正確であるようなものです。提供するVMオプションは、デバッガが接続されるまでzte.jarの実行を待つようにJVMに指示します。

最初の行が自動的に停止しないので、IDEAにブレークポイントを追加し、手動でJVMプロセスにアタッチする必要があります。これはここで説明されていますHow to remote debug JVM

あなたは間違ったことをしています。 VMオプションでデバッグオプションを設定する必要はありません。デバッグするJARを選択し、ブレークポイントを配置し、デバッグモード(IDEAのアイコンのようなバグ)で開始します。今度は他の.jar依存関係と全くソースを含み、またロードしdeps.zip.jarファイルを使用するために反射し、カスタムクラスローダを使用してその内側にdeps.zipが含まれている1つのjarファイル(zte.jar)である、あなたの特定のプロジェクトのために

+0

コメントは議論の対象外です。この会話は[チャットに移動]されています(http://chat.stackoverflow.com/rooms/153267/discussion-on-answer-by-gerben84-debug-jar-intellij-or-command-line)。 –

関連する問題