pythonの非同期callback内でブレークポイントが効かないときの対応

この記事は公開から1年以上経過しています。

VSCode上でPython(3.10)のsounddeviceの非同期コールバック関数内にブレークポイントを設定したところ、ブレークポイントが機能しなかったため、そのときの対応についての備忘録。


対応

Python 3.7以降で使用可能なビルトイン関数のbreakpoint()を使用する。

import sounddevice as sd

def callback(indata, frames, time, status):

    breakpoint() # ブレークさせたい場所にこの行を追加

    # 〜〜 処理 〜〜

with sd.InputStream(
    channels=2,
    dtype='float32',
    callback=callback):

    # 〜〜 処理 〜〜


実行結果

file

VSCodeでブレークポイントを設定していなくてもbreakpoint()関数でブレークするようになりました。


参考ウェブサイトなど

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする