При использовании двух потоков в Python при возникновении ошибки программа ничего не делает, почему? - PullRequest
0 голосов
/ 25 апреля 2011

Я делаю простой сервер для своей игры на Python и использую два потока.Один поток ищет новых пользователей, которые хотят подключиться (это должна быть MMORPG!), А другой общается с пользователями.Моя проблема заключается в следующем: я не могу отлаживать!Или, по крайней мере, это очень сложно, потому что когда происходит ошибка, ничего не происходит!Допустим, я пишу «пинта» вместо «печать» (что я и сделал в качестве теста), я обычно получаю информацию, и программа завершается.Теперь я даже не узнаю, и программа не закрывается.Ничего, и это делает чрезвычайно трудным найти, где происходят ошибки.

Я пытался использовать 'ctr + C', но это ничего не делает, даже тогда программа не выйдет, я должен закрыть терминал!

Почему это происходит и как я могу это исправить (или я обречен)?

1 Ответ

0 голосов
/ 25 апреля 2011

Я не уверен в причине вашей проблемы, но я думаю, что вы можете решить с этим:

import sys
...
print >> sys.stderr, 'whatever you want to print'

Я использую функцию для этой информации отладки с цветным выводом (DEBUG - глобальная переменная):

def debug(self, *txt):
    if DEBUG:
        print >> sys.stderr, '\033[31m[Debug]:\033[0m ', ' '.join([str(e) for e in txt])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...