【问题标题】:Pydevd with virtual code or (source provider)Pydevd 与虚拟代码或(源提供者)
【发布时间】:2011-11-13 19:34:32
【问题描述】:

我们将 python 源代码存储在 sql 数据库中,这些代码一起构建为虚拟 python 模块并且可以执行。 我们想调试这些模块,但是 Eclipse 调试器主机当然不知道在哪里可以找到这些模块的源代码。

有没有办法向 pydevd 提供源代码的位置,即使这意味着将文件写入磁盘?

【问题讨论】:

    标签: python eclipse debugging pydev remote-debugging


    【解决方案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.
    

    【讨论】:

    • 在非本地工作时,是否可以不在服务器上编写虚拟模块而只在客户端(运行eclipse的地方)上工作?
    • 看看brianfisher.name/content/…。它展示了如何映射远程和本地资源。
    【解决方案2】:

    您需要在 Eclipse 项目设置中将模块添加到 PYTHONPATH 并使用标准 Python 导入将其导入。然后 PyDev 调试器应该可以毫无问题地找到它。

    【讨论】:

      猜你喜欢
      • 2019-07-19
      • 2017-07-06
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 2023-03-14
      • 2013-02-06
      • 2019-12-01
      • 2019-12-02
      相关资源
      最近更新 更多