다음 코드는 Trace/BPT trap
과 함께 종료됩니다.파이썬 스레딩 모듈을 사용한 Trace/BPT 트랩
from tvdb_api import Tvdb
from threading import Thread
class GrabStuff(Thread):
def run(self):
t = Tvdb()
def main():
threads = [GrabStuff() for x in range(1)]
[x.start() for x in threads]
[x.join() for x in threads]
if __name__ == '__main__':
main()
이 오류는 Tvdb()
로 인해 발생하지만 이유는 알 수 없습니다.
python -m pdb thescript.py
python -m pdb thescript.py
으로 코드를 실행하고 코드를 밟았습니다. 다음 줄 뒤에 코드가 나타납니다 :
> .../threading.py(468)start()
-> _active_limbo_lock.acquire()
(Pdb)
> .../threading.py(469)start()
-> _limbo[self] = self
(Pdb)
> .../threading.py(470)start()
-> _active_limbo_lock.release()
(Pdb)
> .../threading.py(471)start()
-> _start_new_thread(self.__bootstrap,())
(Pdb)
> .../threading.py(472)start()
-> self.__started.wait()
(Pdb) Trace/BPT trap
(threading.py의 전체 경로를 ...
로 바꿨습니다)
동일한 문제점이 2.6.1
및 2.5.4
에서 발생합니다. 컴퓨터가 OS X 10.6.1 Snow Leopard에서 실행 중입니다. tvdb_api
코드는 github.com/dbr/tvdb_api
https://github.com/dbr/tvdb_api는 404입니다. http로 변경해야했습니다. –
이 파이썬 모듈 안에 Rakefile (Ruby)이 있다는 사실은 내가 심각하게 질문을 던지게하지만, 위의 코드를 리눅스에서 실행할 때 어떤 경우에도 오류가 발생하지는 않는다. (실제) 디버거에서 실행하여 "추적/BPT 트랩"에서 백 트레이스를 얻는 지 확인하십시오. 당신은 Tvdb .__ init__의 블록을 주석 처리하여 원인을 좁힐 수 있는지 확인할 수도 있습니다. –
@Glenn : Heh, Rakefile을 사용하는 것이 Makefile이나 쉘 스크립트를 사용하여 배포를 자동화하는 것과 다른 점을 나는 안다. 나는 Pyke 나 Python'y를 사용했을 것이다. 그러나 그들 중 누구도 설치하지 않았다. OS X의 기본 설정 (레이크가있는 반면) – dbr