使い方

  • printコマンドプロンプトに出力する。
  • self.reportオペレーターから情報を出力する
  • PyDev.Debugger / VSCode

参考:

アドオンをデバッグする | はじめての Blender 2.7 アドオン開発

How can I debug a script in real-time? – Blender Stack Exchange

print 関数

ドキュメント:

print | Python 3.x Documentation [Official]

ロガー (logging)

こちらのページを参照

ドキュメント:

logging – Logging Facility | Python 3.x Documentation [Official]

VSCode でデバッグする

手順
  1. Blender 付属の Python 環境に「debugpy」をインストールする。
  2. アドオンフォルダを VSCode で開き、プロジェクト用にデバッグ環境 (.vscode/launch.json) を設定する。
  3. アドオンの初期化スクリプトでリモートデバッグサーバーを起動する。
デバッグ環境
  1. VSCode でプロジェクトを開き、左端のアクティビティバーで「実行とデバッグ」ビューに切り替える。(Ctrl + Shift + D キー)
  2. 環境を設定していない場合は、「launch.json ファイルを作成します」というリンクをクリックして プロジェクト用にデバッグ環境設定ファイル (launch.json) を作成する。作成済みの場合は、歯車アイコン から設定ファイルを開ける。
  3. 設定ファイルに次のような内容を記述する。
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Blender",
            "type": "python",
            "request": "attach",
            "connect": {
                "host": "localhost",
                "port": 5678
            },
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}",
                    "remoteRoot": "${workspaceFolder}"
                }
            ],
            "justMyCode": true
        }
    ]
}Code language: JSON / JSON with Comments (json)
リモートデバッグサーバー

アドオンの初期化スクリプト __init__.py にリモートデバッグサーバーを起動するコードを追加する。register 関数で debugpy モジュールをインポートし、debugpy.listen メソッドを呼び出す。

def register():
    try:
        import debugpy
        debugpy.listen(('localhost', 5678))
        print("Waiting for debugger attach")
    except ImportError:
        pass

    # ...Code language: Python (python)
注意事項
  • sys.settrace とリモートデバッグは併用できないため注意する。
こちらのページを参照

ドキュメント:

Debugging | Visual Studio Code [Official]

Using debugby in Visual Studio Code – FAQ – debugpy Wiki – GitHub

listen – API Reference – debugpy Wiki – GitHub

リポジトリ:

microsoft/debugpy: An Implementation of the Debug Adapter Protocol for Python – GitHub

参考:

アドオン開発環境構築 | ツクロウヤ

アドオンをデバッグする | はじめての Blender アドオン開発

Remote attach – Breakpoint in file that does not exist · Issue #318 · microsoft/debugpy – GitHub

Visual Studio でデバッグする

ドキュメント:

Visual Studio – Debugging Python | Blender Developer Wiki [Official]

Linux 上の Python コードをリモートデバッグする  | Microsoft Docs [Official]

参考:

Trouble debugging Blender Python using Visual Studio 2019 – Stack Overflow

Eclipse でデバッグする

こちらのページを参照

ドキュメント:

Debugging Blender from Eclipse | Blender Developer Wiki [Official]

参考:

スクリプトのデバッグ環境を整える – Qiita

アドオンをデバッグする | はじめての Blender 2.7 アドオン開発

Python, Blender and a Bit of Debuggery | Dani Epstein

Eclipse for debugging python in Blender – Blender Artists Community

debug and step through addon? – Blender Stack Exchange

PyCharm でデバッグする

ドキュメント:

Debugging Python Code with PyCharm | Blender Developers Blog [Official]

Python Remote Debug with PyCharm | PyCharm Blog [Official]

参考:

PyCharm remote debugger – Blender Stack Exchange

PyDev.Debugger (pydevd)

リポジトリ:

fabioz/PyDev.Debugger: Sources for the Debugger Used in PyDev, PyCharm and VSCode Python – GitHub

入手:

pydevd | PyPI

debugpy

Blender の Python 環境にインストールする。Blender を起動し、Python コンソールで次のコードを実行する。

>>> import subprocess, sys; print(subprocess.run([sys.executable, "-m", "pip", "install", "debugpy"], stdout=subprocess.PIPE, text=True).stdout)

リポジトリ:

microsoft/debugpy: An Implementation of the Debug Adapter Protocol for Python – GitHub

入手:

debugpy | PyPI

参考:

Blender 用 Python コードを VSCode で書くための環境構築メモ | ao;eth

ptvsd

**DEPRECATED**

後継の「debugpy」を使用する。

リポジトリ:

microsoft/ptvsd: Python Debugger Package for Use with Visual Studio and Visual Studio Code – GitHub

入手:

ptvsd | PyPI

Blender Debugger for VSCode

動画:

How to Remote Debug Blender with VSCode

リポジトリ:

AlansCodeLog/blender-debugger-for-vscode: Blender Addon for Remote Debugging Blender with VSCode – GitHub

Python Debugger

リポジトリ:

hextantstudios/hextant_python_debugger: Allows Debugging of Blender Python Add-ons Using Visual Studio Code or Visual Studio 2019 v16.6 or Later – GitHub

参考:

Debugging Blender Add-ons | Hextant Studios

pdb

ドキュメント:

pdb – Python デバッガ | Python 3.x ドキュメント [公式]

参考:

Can I run a Python script step by step in Blender? – Blender Stack Exchange

Remote Debugger (Sybren A. Stüvel)

コード:

remote_debugger.py – sybrenstuvel/random-blender-addons – GitHub

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA