2011-04-17 71 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線。但是,如果我正常運行它,我不會收到「傳入消息...」輸出。

任何想法爲什麼這將是甚至如何調試呢?


啊啊算了一下......當兩個線程正在使用相同的資源時發生死鎖情況。謝謝你們的幫助!

乾杯!

回答

0

您已經在使用System.out.println作爲程序輸出。添加一些系統輸出,可以輸出代碼中的位置以及各種變量的狀態。

我不知道這是如何被調用,但從代碼我看你的條件總是評估錯誤。

1

有多種方法可以調用Java代碼,具體取決於您需要的位置。

您所展示的內容不足以自立,如果嘗試將其作爲applet或java應用程序(java .... ConnectionControl)調用,則會導致錯誤。這可能是Eclipse可以調用一個Runnable - 我還沒有看到它。

嘗試

  1. 使類公共
  2. 添加靜態main方法使其成爲一個Java應用程序
  3. 在main方法開始放消息,所以你可以看到它被調用
相關問題