Программа работает в отладчике Eclipse, но не где-нибудь еще ...? - PullRequest
0 голосов
/ 17 апреля 2011

Следующий сегмент кода:

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

Работает, когда я запускаю его в отладчике Eclipse и ставлю точку останова в строке System.out.Однако, если я запускаю его как обычно, я не получаю вывод «Incoming message ...».

Любые мысли о том, почему это будет или как его отладить ???


Ааа разобрался ... возникла тупиковая ситуация, когда два потока использовали один и тот же ресурс.Спасибо за вашу помощь, ребята!

Ура!

Ответы [ 2 ]

1 голос
/ 17 апреля 2011

Существует несколько способов вызова кода Java в зависимости от того, где он вам нужен.

То, что вы показали, недостаточно для того, чтобы быть автономным, и должно вызвать ошибку, если вы попытаетесь вызвать его как апплет или приложение Java (java .... ConnectionControl). Возможно, что Eclipse может вызвать Runnable - хотя я его не видел.

Попробуйте

  1. обнародование класса
  2. добавить статический метод main, превратив его в приложение Java
  3. поместите сообщение в начало метода main, чтобы вы могли видеть, как оно вызывается
0 голосов
/ 17 апреля 2011

Вы уже используете System.out.println для вывода своей программы.Добавьте некоторые sysout, которые выводят, где вы находитесь, в коде и статусе различных переменных.

Я не знаю, как это вызывается, но из кода, который я вижу, ваше условие if всегда оценивает false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...