1

jdb を使用してアプリケーションをデバッグしようとしています。今までたくさんのものを手に入れてきましたが、それらを磨きたいと思います。

jdb を使用していて、ブレークポイントを挿入したり、変数を調べたりしたい場合、jdb は完全な名前 package.class.(method/variable) を必要とします。次に例を示します。

Initializing jdb ...
> 
VM Started: No frames on the current call stack

main[1] stop in com.ionsoft.engine.Engine.main

入力しなければならない名前が非常に長いため、これは非常に面倒です。

ソースとクラスがプロジェクト ルートにある場合のように、「Engine.main で停止」と入力したいと思います。

クラスパスを ./build/classes から ./build/classes/com/ionsoft/engine に変更しようとしましたが、変更すると Engine.class が見つかりません。

Error: Could not find or load main class com.ionsoft.engine.Engine

誰でも何か考えがありますか?

更新: 現在のクラスパスでは、クラスではなく jar を指しています。

お時間をいただきありがとうございます。

4

1 に答える 1

1

このトピックに関する有益な情報を見つけました。

3 つのオプションがあります。

  1. 次のような .jdbrc ファイルを使用します。

    monitor list
    stop in com.ionsoft.engine.Engine.main
    

    残念ながら、これは回避策です。ここですべてのブレークポイントとカスタム構成をセットアップできます。

  2. Java Debug Interface (JDI) を使用して、カスタム「デバッガー」をプログラムします。

    お役立ち情報:こちら

  3. この重荷を背負って生きてください。(isnot2badが言ったように)

私は 2 番目のオプションの方が良いと思いますが、当面は 1 番目と 3 番目のオプションを組み合わせて使用​​します。

于 2013-11-11T07:10:44.183 に答える