2011-04-17 18 views
0

次のコードセグメント:プログラムはEclipseデバッガでは動作しますが、他の場所では動作しません...?

private class ConnectionControl implements Runnable 
{ 
    public void run() 
    { 
     while(true) 
     { 
      if(!cnnct.isInMsgEmpty()) 
       System.out.println("Incoming message: " + cnnct.getInMsg().getPayloadString()) ; 
     } 
    } 
} 

作品私は、Eclipseのデバッガでそれを実行してのSystem.out行にブレークポイントを配置します。しかし、私はそれを正常に実行する場合、私は "受信メッセージ..."出力を取得しません。

これがなぜ、どのようにデバッグするのかについての考えはありますか?


Ahhは考え出しました.2つのスレッドが同じリソースを使用しているデッドロック状況が発生しました。助けてくれてありがとう!

乾杯!

答えて

0

プログラム出力には既にSystem.out.printlnが使用されています。コード内の位置とさまざまな変数の状況を出力するいくつかのsysoutsを追加します。

私はこれがどのように呼び出されているのかわかりませんが、コードからはif条件が常にfalseを評価しています。

1

Javaコードを呼び出すには、必要な場所に応じて複数の方法があります。

あなたが示したことは自立するには不十分で、アプレットまたはJavaアプリケーション(java .... ConnectionControl)として呼び出すとエラーが発生するはずです。 EclipseがRunnableを呼び出すことができるかもしれない - 私はそれを見ていない。

は、あなたがそれが を起動され見ることができますので、それを

  • は、mainメソッドの開始にメッセージを入れてJavaアプリケーションを作成する静的なmainメソッドを追加し、パブリッククラス
  • を作る
    1. をお試しください
  • 関連する問題