• ベストアンサー

Eclipseでのデバック

Java 6.29、Eclipse 3.6を使用しています。 Eclipseで作成したJavaコードをステップ実行してデバックしていくと最終行の右中括弧直前の 右中括弧でThread.classコードに入り、デバックが終了してしまいます。 回避策をご存知でしたら教えいただけませんか?

noname#187796
noname#187796
  • Java
  • 回答数5
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.5

AGENT_ERROR_NO_JNI_ENV(183)の件はhttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6476706で多くの人が報告していて、Eclipse以外でも発生するようです。回避方法はmain()の最後にSystem.exit(0);を追加することだそうです。

noname#187796
質問者

補足

1. AGENT_ERROR_NO_JNI_ENV(183)の件、 おかげさまで対処できました。 > It sounds like a timing issue in the shutdown with the agent still running. JDKのバグみたいですね。 2. 大変申し訳ございませんが、もう一つだけ質問させてください。 ある行を通るのですが、ブレークポイントを設定しても最初に、そこで止まりません。 必ず、main()の最初行から順番に実行してしまいます。 環境は以下のとおりです。 -JDK 1.6.0_22-b04 -Eclipse 3.6 All in One -Windows Vista アドバイスをいただけませんか?

その他の回答 (4)

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.4

main()メソッドの最後まで実行し終えた後は通常追いかける必要はないから、そのままResume(F8、黄色の縦長の四角と緑の三角の組み合わせのアイコン)で進んでしまえばいいんじゃないでしょうか。 その「通常追いかける必要がない」部分をステップ実行してみたいという趣旨なのかもしれませんが。

noname#187796
質問者

補足

ここで、F8キーを押すと下記メッセージが表示されます。 アドバイスをいただけませんか? ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 JDWP exit error AGENT_ERROR_NO_JNI_ENV(183): [../../../src/share/back/util.c:820]

回答No.3

質問内容が乏しいからはっきりしたことは言えんが‥。 単にステップイン(F5)で実行しているからとか。(その場合デバッグが終了しているわけではないけど) ステップオーバー(F6)で動かしてみたら?

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.2

「最終行の右中括弧直前の右中括弧」と言われても、どんなコードがその前に書かれているのか分からずに答えるのは困難です。そこで終了するので正しいのかもしれません。コードを見せてください。 あと、「デバック」ではなくて「デバッグ」です。 ANo.1の方、括弧の対応が取れていないようなプログラムの場合はそもそもステップ実行を開始できないと思います。

noname#187796
質問者

補足

下記の簡単な文字列を表示するコードです。 ステップイン、ステップオーバーでデバッグしても状況は共に同じで最終行で終了しません。 public class temp { public static void main (String[] args) { System.out.println("Hello World !!"); } }

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

最終行の最後の右中括弧に対応する左中括弧が無いとか?

関連するQ&A

  • IEのjavascriptのデバックについて

    いつもお世話になっております。 IEのjavascriptの有効なデバック方法は無いでしょうか。 alertを仕込んで、やっておりますが、効率が悪く、javaのeclipseのように、ステップ毎に進んだり、変数を見たり出来れば良いのですが。 みなさんはどのようにしてますでしょうか。 IETester / DebugBar のソフトが良いかなと思い、少し試してみたのですが、こういう事ができるのかわかりませんでした。使った事のある方いたら教えてください。 よろしくお願いします。

  • Eclipseコンソールでのエスケープシーケンス

    EclipseでJavaのプログラムを開発しておりますが、Eclipseのコンソールでエスケープシーケンスを利用した時の振る舞いがSDKのJavaコマンドで直接動作させた時と違うのは何故でしょうか? 例えば以下の"\r"の動作はJavaコマンドの方ですと現在の行に上書きされる形で表示されます。 for( int i = 0; i < 10; ++i ) { System.out.print( "\r" + i ); Thread.sleep( 100 ); } 上記のコードをEclipseのコンソールを利用すると Eclipseのコンソールでは改行されて表示されてしまいます。 Eclipseでの開発が行い易いため、Eclipseのコンソールの動作をきちんと本家に合わせる設定方法等ご存知でしたら教えて下さい。

    • ベストアンサー
    • Java
  • Eclipse (3.5)で.classファイルの作成をするには?

    Eclipse (3.5)で.classファイルの作成をするには? ホームページビルダーにJavaアプレットを挿入する機能があるのですが、 ファイル形式が.classでないといけないようです。 eclipseで作成されたファイルは、.javaしか見当たらないのですが、 .classファイルを作成するにはどうしたらいいのでしょうか?

    • ベストアンサー
    • Java
  • デバック時に「ソースが見つかりませんでした。」と表示されます。

    デバック時に「ソースが見つかりませんでした。」と表示されます。 JAVA初心者です。よろしくお願いいたします。 eclipse 3.5 for Mac OS X1 を使っておりますが、デバック時に「ソースコードが見つかりませんでした。」と表示されます。 対処方法・手順をご教示ください。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Eclipseで自分が書いたコードだけステップ実行するには

    Eclipseでjavaのコードをステップ実行すると、 java.langなどの内部までステップ実行してしまいます。 これらは必要ないので 自分が書いたコードだけをステップ実行するようにすることはできますか?

  • Eclipse3.4でSVNのJAVAプロジェクト

    Eclipse3.4でプロジェクトが「Javaプロジェクト」の場合には .javaファイルの保存でそのまま.classへとコンパイルされます。 これがsubversionで管理されているJavaプロジェクトの場合、 subscripseプラグインでプロジェクトをチェックアウトしても、 「Javaプロジェクト」とは認識されていません。 この状態ですと、.javaファイルを保存しても、.classは自動では 作成(コンパイル)されません。なので実行もできません。 どうすればSubversionで管理されているプロジェクトを、コンパイルして 実行できるのか教えていただけないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Eclipseが起動できません

    Eclipseが起動できません Eclipseが起動できません(eclipse-platform-SDK-3.4.1-win32) 以前Sunのサイトからjdk1.6.0_20をインストールて設定もできています。JAVAも動きます。 今年の夏まで学校でコマンドプロンプトとテキストエディター(メモ帳など)を使ってJABAの基本のプログラムを書いています。個人PCにも同じ方法で動きますれからはeclipseを使用します。ので個人PCにもeclipseを使用できるようにしたいです しかしeclipse.exeをクリックすると「JVM terminated. Exit code=1」が表示されて起動できません。対策も自分なりにネットで調べてみたのですが、にっちもさっちも行かなくなってしまいました。自分はこれからどうすべきなのでしょう? JAVAはテキストで正しくJAVA文章を書き、○○○.jaavというものを作り コマンドプロンプトでjavac ○○○.javaを入力すると動き○○○.classのクラス文章が自動作成され java ○○○ を入力JAVAプログラムが実行されます。 この流れは実行でき動きます。 マイコンピュータのプロパティーの環境変数設定もJAVA文書を書きコマンドプロンプトで実行できる環境になっています。 いろいろと調べても質問者の結果は環境変数の問題とかが多いです。 何をどうしてよいかわかりません。 なみにosはWinXPです。javaは動くので環境変数の設定はできています。 。 万事休すです。どなたか解決方法をお願いしますm(~_~)m

    • ベストアンサー
    • Java
  • Eclipseにdllがうまく読み込めない

    JNIを使った開発をしてdllを作りました。 コマンドプロンプト上ではうまく動くのですが、eclipseに取り込んで実行の構成から環境変数を入れましたが、 Exception in thread "Thread-0" java.lang.UnsatisfiedLinkError: controller.Joystick.getXPos(I)F at controller.Joystick.getXPos(Native Method) at controller.Joystick.getXPos(Joystick.java:45) at controller.ControllerSample.run(ControllerSample.java:20) と表示されうまくいきません。 どうしたらよろしいでしょうか?

    • ベストアンサー
    • Java
  • EclipseでJSPのコンパイルエラー

    過去に開発したWebアプリをEclipseを使用して再開発し直してみようと挑戦中ですが、以下のエラーが解決できず困っています。 ***** org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: null の中の行: -1でエラーが発生しました 生成されたサーブレットのエラーです: [javac] Compiling 1 source file E:\AddProgram\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Standalone\localhost\XXX\login_jsp.java:10: java.lang.Object にアクセスできません。 クラスファイル E:\AddProgram\Eclipse\eclipse\jre\lib\rt.jar(java/lang/Object.class) は不正です。 クラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。 public class login_jsp extends HttpJspBase { ^ エラー 1 個 ***** Javaビルドパス-クラスパス変数は j2sdk1.4.2\jre\lib\rt.jarになっているし、 Javaコンパイラーの準拠レベルは1.4になっているし、 JAVA_HOMEやPATHもj2sdk1.4.2、j2sdk1.4.2\binになっているんですが、何故別のjarを参照してしまっているのでしょうか? Eclipseの再起動、JRE1.4.2の再インストールなども試みましたが、解決せず悩んでいます。解決方法をご存知の方、ご教授ください。 ■環境(最終的に落ち着いた使用バージョンは以下の通り。) ・EclipsePleiadesAllinOneJava3_4_2 ・java 1.4.2 ・Tomcat 4.1.31 ・Apache 2.0.53 ・MySQL 4.0.25

    • ベストアンサー
    • Java
  • eclipseで、サーブレットを作成したいのですが・・・

    プログラム経験の全くない、初心者なので分からない事だらけなため、どなたかおわかりになる方がおられたら、対処法をお願いします・・。 以下の手順で、サーブレットを作成しようとすると、エラーが表示され、ファイルが作成されませんでした。 [手順] (1)eclipse3.3で、「パッケージエクスプローラー」では何も選択しない状態で、メニューから「ファイル」→「新規」→「その他」を起動して、ツリーの「web」を開き、「サーブレット」を選択。 (2)サーブレット作成画面で、「パッケージ名」は、jp.co.gihyo.step3で、「名前」は、SampleServletと指定。 (3)ダイアログ画面はそのまま (4)次の画面もそのまま。 これで、「終了」を押すと、以下のエラーが表示されました。 java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:3(以下略) そこで、java.lang.UnsupportedClassVersionError: Bad version number in .class file を調べると、 「クラスが要求しているバージョンがJavaVMがサポートしているバージョンの範囲外なので、実行できない。」 だそうですが、現在のJavaVMのバージョンは、コマンドプロンプトで、「java -version」と書くと、「java version "1.6.0_06"」とありました。このバージョンでは、サーブレットが作成されないのでしょうか?それとも違う意味なのでしょうか?? あと、現在のeclipseの設定は、jdk6.0,jre1.6.0_03です。 長くなりましたが、対処法が分からず、困っています・・・。 どなたか、アドバス、お願い致します・・・。

    • ベストアンサー
    • Java

専門家に質問してみよう