【发布时间】:2011-11-13 19:34:32
【问题描述】:
我们将 python 源代码存储在 sql 数据库中,这些代码一起构建为虚拟 python 模块并且可以执行。 我们想调试这些模块,但是 Eclipse 调试器主机当然不知道在哪里可以找到这些模块的源代码。
有没有办法向 pydevd 提供源代码的位置,即使这意味着将文件写入磁盘?
【问题讨论】:
标签: python eclipse debugging pydev remote-debugging
我们将 python 源代码存储在 sql 数据库中,这些代码一起构建为虚拟 python 模块并且可以执行。 我们想调试这些模块,但是 Eclipse 调试器主机当然不知道在哪里可以找到这些模块的源代码。
有没有办法向 pydevd 提供源代码的位置,即使这意味着将文件写入磁盘?
【问题讨论】:
标签: python eclipse debugging pydev remote-debugging
将其写入磁盘并在编译时传递代码的文件名(并且,当您不处于调试模式时,不要写入它并将'<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.
【讨论】:
您需要在 Eclipse 项目设置中将模块添加到 PYTHONPATH 并使用标准 Python 导入将其导入。然后 PyDev 调试器应该可以毫无问题地找到它。
【讨论】: