2016-01-20 60 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