Программы командной строки на окнах произвольно зависают.Ctrl-C реактивирует их - PullRequest
0 голосов
/ 29 апреля 2019

Я пишу простую программу на Java, иногда она случайно зависает и не отвечает.когда я пытаюсь завершить его с помощью Ctrl-C вместо выхода, программа возвращается к жизни и снова начинает работать нормально.Я не публикую свой код, потому что я заметил такое поведение с другими программами командной строки в Windows, так что это, похоже, не является чем-то конкретным для моего кода.В конце концов, программа будет работать круглосуточно на безголовом сервере, поэтому вы можете понять, почему это будет серьезной проблемой, если она просто перестанет работать время от времени.Заранее спасибо.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 29 апреля 2019

Это немного похоже на проблему выбора: если вы делаете выбор в окне консоли, он замораживает вывод консоли.В следующий раз, когда приложение попытается перейти на консоль, оно будет остановлено, пока выбор не будет очищен.Нажатие ctrl-c скопирует выделение и очистит его, позволив завершить очистку и продолжить работу приложения.Любое нажатие клавиши в окне консоли должно очистить выделение, и похоже, что только ctrl-c работает для вас.

Если проблема не в этом, ваша следующая лучшая ставка в следующий раз, когда вы увидите, что это будетчтобы открыть собственный отладчик (например, Windbg) или Java-отладчик и присоединиться к процессу, который вы запускаете в процессе консоли, чтобы увидеть, что делает ожидание.Вполне вероятно, что то, что вы вызываете, вызывает ложное получение / чтение строки / и т. Д. Отладчик должен сделать источник задержки очевидным.Если вам нужна помощь в расшифровке стека, как только у вас есть, я мог бы помочь.Просто вставьте его в эту ветку.

Бен

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