デバッグのセットアップ方法は次のとおりです。これは少し異なりますが、lux-render チュートリアルに基づいています。
まず、.py ファイルを作成します。これを debug.py と呼びます。このファイルには、後でデバッグをセットアップするために呼び出す関数が含まれます。このファイルをモジュールのメインと同じフォルダーに配置し__init__.py
ます。lux-renderer チュートリアルに従って、次のコードを追加して、PYDEV_SOURCE_DIR を更新します。
import sys
def startdebug():
try:
# set the PYDEV_SOURCE_DIR correctly before using the debugger
PYDEV_SOURCE_DIR = 'C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc'
# test if PYDEV_SOURCE_DIR already in sys.path, otherwise append it
if sys.path.count(PYDEV_SOURCE_DIR) < 1:
sys.path.append(PYDEV_SOURCE_DIR)
# import pydevd module
import pydevd
# set debugging enabled
pydevd.settrace(None, True, True, 5678, False, False)
except:
pass
PYDEV_SOURCE_DIR を設定するときは、必ず org.python.pydev.debug_xxxxx を指すようにしてください。これに似た別のフォルダがあります。正しいフォルダーがあることを確認するために、/pysrc フォルダーが含まれます。
main__init__.py
では、正しく機能するために、これを他の import ステートメントの前に置く必要があります。奇妙なことにblenderがこれ自体を解析するため、bl_infoセクションのすぐ下に次を追加します。
DEBUGGING = True
if(DEBUGGING):
import debug
debug.startdebug()
ここに置くことで、lux-render チュートリアルのようにファイルごとのトレースを追加する必要がなくなります。
- アドオン フォルダー内のバージョンにブレークポイントを追加し、
- デバッグパースペクティブに切り替え、
- Eclipses デバッグ サーバーを起動し、
- ブレンダーを起動
- スクリプトを実行すると、ブレークポイントにヒットします。
人々が遭遇する一般的な問題:
- 間違った pydev デバッグ フォルダーへのパスを指している場合は、/pysrc フォルダーがあることを確認してください。
- Pydev が更新されたら、debug_xxxxx が変更されるため、PYDEV_SOURCE_DIR を更新します。
- Eclipseサーバーを実行していない、
- Blenderアドオンディレクトリのバージョンではなく、ファイルのローカルコピーにブレークポイントを設定する
- スクリプトを保存しても、blender がスクリプトをリロードしたり、imp を使用したり、アドオンを無効化/再有効化したり、Blender を再起動したりするわけではありません。