2011-09-09 3 views
0

우리는 python 소스 코드를 SQL 데이터베이스에 저장하고 있습니다.이 코드는 가상 파이썬 모듈에 함께 빌드되어 실행될 수 있습니다. 우리는이 모듈을 디버그하려고하지만 물론 이클립스 디버거 호스트는이 모듈의 소스 코드를 어디에서 찾을 수 있는지 알지 못합니다.가상 코드가있는 Pydevd 또는 (소스 공급자)

pydevd에 소스 코드의 위치를 ​​제공 할 수 있습니까? 그렇다고해도 파일을 디스크에 기록 할 수 있습니까?

답변

1

디스크에 기록하고 컴파일 할 때 코드의 파일 이름을 전달하십시오 (디버그 모드가 아닌 경우 파일을 쓰지 말고 '<string>'을 파일 이름으로 전달하십시오). 로컬이 아닌 작업 할 때

from tempfile import mktemp 

my_code = ''' 
a = 10 
print a 
''' 

tmp_filename = mktemp('.py', 'temp_file_') 
with open(tmp_filename, 'w') as f: 
    f.write(my_code) 
obj = compile(my_code, tmp_filename, 'exec') 
exec obj #Place breakpoint here: when stepping in it should get to the code. 
+0

, 서버 만 클라이언트에서 가상 모듈을 작성하지 않고도이 작품 (여기서 이클립스가 실행) 할 수 있습니다

아래의 예를 참조하십시오? – Gobliins

+0

테스트를 거쳐 작동합니다. – Gobliins

+0

http://brianfisher.name/content/remote-debugging-python-eclipse-and-pydev에서 살펴보십시오. 원격 및 로컬 소스를 매핑하는 방법을 보여줍니다. – taper

0

Eclipse 프로젝트 설정에서 PYTHONPATH에 모듈을 추가하고 표준 Python 가져 오기를 사용하여 가져와야합니다. 그러면 PyDev 디버거는 문제없이 찾아야합니다.

관련 문제