通常、Pythonデバッガー/ IDEは、Pythonスクリプトがそれ自体と同じプロセスで実行されていることを前提としているため、ArcMap.exeで実行されているスクリプトのデバッグはすぐに実行できます。デバッグします。
過去数年にわたって私にとって非常にうまく機能した方法は、ツールを呼び出すだけの簡単なスクリプトを記述し、それをPython IDE(WingまたはPythonwin)のメインスクリプトとして使用し、ツールの.pyにブレークポイントを設定することです同じIDEセッションでファイルも開きます。
だから基本的に私はこれを行う:
- スクリプトツールで機能しない入力のセットを取得する
- ツールを呼び出す.tbxと同じフォルダーにある単純な.pyファイルを開きます。
- IDEで呼び出し元スクリプトとスクリプトツールの.pyファイルを開きます
- スクリプトツールファイルにブレークポイントを設定する
- 呼び出し元スクリプトを実行する
そして、私の呼び出し元スクリプトは通常非常に簡単です:
import os
import arcpy
arcpy.ImportToolbox(os.path.join(os.path.dirname(__file__), 'my.tbx'))
arcpy.MyToolThatIsFailing_myalias("inputs", "that", "don't" "work")
winmapdbを使用して、ArcMapで実行されているスクリプトをデバッグしようとしましたが、運がありませんでした。試してみて、うまく機能するようになったら、結果を共有してください。