3

Eclipse と PyDev で Blender Python をデバッグするにはどうすればよいですか?

私が試したことは次のとおりです。

http://www.luxrender.net/wiki/LuxBlend25_Debugging_with_eclipse

http://www.blender.org/forum/viewtopic.php?t=3914&sid=717a127d12596f89e4aea0c54938ef80

しかし、機能する縫い目はありませんか?

よろしく

4

3 に答える 3

3

Blender アドオン プログラミングについて Witold Jaworski によって書かれた非常に優れた電子書籍があります。BlenderアドオンをデバッグするためにPyDevでEclipceをセットアップする方法を段階的に説明する章が含まれています. Blender 2.5 のアドオンのプログラミング

于 2012-11-01T10:17:59.720 に答える
2

デバッグのセットアップ方法は次のとおりです。これは少し異なりますが、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 チュートリアルのようにファイルごとのトレースを追加する必要がなくなります。

  1. アドオン フォルダー内のバージョンにブレークポイントを追加し、
  2. デバッグパースペクティブに切り替え、
  3. Eclipses デバッグ サーバーを起動し、
  4. ブレンダーを起動
  5. スクリプトを実行すると、ブレークポイントにヒットします。

人々が遭遇する一般的な問題:

  • 間違った pydev デバッグ フォルダーへのパスを指している場合は、/pysrc フォルダーがあることを確認してください。
  • Pydev が更新されたら、debug_xxxxx が変更されるため、PYDEV_SOURCE_DIR を更新します。
  • Eclipseサーバーを実行していない、
  • Blenderアドオンディレクトリのバージョンではなく、ファイルのローカルコピーにブレークポイントを設定する
  • スクリプトを保存しても、blender がスクリプトをリロードしたり、imp を使用したり、アドオンを無効化/再有効化したり、Blender を再起動したりするわけではありません。
于 2012-10-31T11:02:00.850 に答える
1

デバッグ用にブレンダーと Eclipse をセットアップするための非常に包括的な説明があります。 http://wiki.blender.org/index.php/User:Z0r/PyDevAndProfiling

これはブレンダー ゲーム エンジン用ですが、その多くは通常のブレンダーにも当てはまります。

于 2012-11-16T07:01:20.887 に答える