2016-01-20 65 views
0

我想调试一些脚本,我跟着Omid拉哈建议从这个职位 Writing gimp plugins in python on windows- how do i debug? where is the output?瘸子蟒蛇插件调试与Winpdb的麻烦

系统工作,所以我能够踏进我的代码,但是当执行到达

from gimpfu import * 

错误这个错误发生的情况是:

(pythonw.exe:3588):LibGimpBase ·ERROR **:gimp_wire_write_msg:电线 协议尚未初始化

我把我的代码文件的开头:

import rpdb2; rpdb2.start_embedded_debugger("pass") 

如果我评论此行并在没有调试器的情况下运行代码,它将正确运行。

谢谢

马尔科

回答

0

GIMP插件只能从内部GIMP本身运行 - 如果它们被从外面GIMP外部调试系统启动之后,它们将无法正常工作。

我不知道这个“rpdb2”工具 - 但它表明它可以附加到正在运行的进程(至少,我知道的一个“rpdb”) - 所以,你是否尝试启动脚本从GIMP内部并在稍后连接调试器?

(在导入步骤中的错误,你显示它是由于来自内部的GIMP不运行)

+0

是的,我知道,GIMP插件只能从内部GIMP本身运行。 我的插件是从GIMP启动的,然后(稍后)外部调试器连接到进程。 Winpdb调试器在GIMP外部运行,并在另一个文件夹中使用另一个pythonw.exe;这可能是错误的原因? 谢谢 – Marco

+0

当然是。该错误消息确切地表明:Wire协议未初始化是一种告诉它不能与GIMP“交谈”的方式。请记住,如果您无法设置调试,则可以使用GIMP的交互式Python控制台进行PDB和其他调用 - 这就是我如何找出各种调用的确切语义。 – jsbueno