Python 拡張機能をデバッグする
Python と C/C++ が混在するコードの相互デバッグは、現在 CLion(CPP-5797(英語))ではサポートされていません。ただし、Python 拡張モジュール(英語)を使用する場合は、以下で説明するオプションの 1 つを使用して、これを回避できます。
拡張機能の C/C++ コードをデバッグするには、ネイティブデバッガー、GDB または LLDB を使用し、スクリプトを読み込んでアプリケーションを実行するインタープリタープロセスをデバッグする必要があります。そのためには、実行中の Python プロセスに接続するか、適切に構成されたカスタムビルドアプリケーションをデバッグすることができます。
オプション 1: ネイティブデバッガーを使用して、実行中の Python プロセスにアタッチする
ブレークポイントを設定し、プロセスにアタッチした後にブレークポイントがヒットすることを確認します。
Python スクリプトを起動します。これは、システムターミナル、CLion の内蔵ターミナルから、Python の設定を実行することによって実行できます。
メインメニューから実行 | プロセスにアタッチを呼び出すか、Ctrl+Alt+F5 を押してください。
エントリのリストで、ネイティブノードのプロセスの PID に対応するものを検索します。
デバッガーが正常に接続されると、通常どおりネイティブコードをデバッグできるようになります。詳細については、「デバッグ」セクションを参照してください。
終了したら、デバッグツールウィンドウで
を呼び出すか、ツールバーまたはをクリックして、プロセスから切り離します。
オプション 2: カスタムビルドアプリケーション構成をデバッグする
ネイティブデバッガーをアタッチする代わりに、その下で Python インタープリターを起動できます。このオプションは、スクリプトを呼び出す正確なインタープリターコマンドがわかっている場合に使用できます。
作成する必要がカスタムターゲットネイティブ拡張とカスタムターゲットを呼び出し、適切な引数を指定して Python インタープリターを実行します。カスタムビルドアプリケーション構成を再構築します。
メインメニューで、実行 | 実行構成の編集に移動し、
をクリックして、カスタムビルドアプリケーションを選択します。
ターゲットフィールドにあるカスタムビルドターゲットを設定するをクリックします。これにより、 ダイアログが開きます。
をクリックして新しいターゲットを追加し、ターゲットの名前を設定します。
ツールチェーンを選択します。CLion は、選択したツールチェーンのデバッガーを使用します。
プロジェクトを構築するためのツールを設定します。ビルドフィールドの横にある
をクリックしてから、
をクリックして新しいツールを追加します。
ツールの構成を指定します。以下のスクリーンショットは、
pip install -e
を使用する場合を示しています。編集ツールおよびカスタムビルドターゲットダイアログで変更を保存し、実行 / デバッグ構成のセットアップに戻ります。
次の設定を指定します。
実行可能ファイル -Python インタープリターへのパスを提供します。
プログラム引数 - 必要に応じて、追加の引数を使用してスクリプト名を指定します。
作業ディレクトリ - プロジェクトルートへのパスを設定します。ここでは、マクロ(
)とパス変数を使用できます。
構成を保存した後、通常どおりその構成のデバッグセッションを開始できます。
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_attachprocess_name.png)
プロセスに接続
CLion は、ローカルプロセスとリモートプロセスの両方にデバッガーを接続する方法を提供します。C/C++ アプリケーションの場合、Windows では GDB または MSVC LLDB、macOS では LLDB、Linux では GDB と LLDB の両方を使用してプロセスにアタッチできます。該当する場合は、他の言語のデバッガー (Python デバッガーなど) も使用できます。Ubuntu の前提条件 Ubuntu およびその他の Linux ディストリビューションでは、初めてプロセスに...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_exception_breakpoint_setting.png)
ブレークポイント
ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、たとえば、特定のコード行に到達したときにプログラムを一時停止するなどの単純なものから、追加の条件をチェックしたり、ログに書き込んだりするなどのより複雑なロジックを含むものまであります。ブレークポイントは、一度設定すると、一時的なブレークポイントを除き、明示的に削除するまでプロジェクト内に残ります。ブレークポイントの種類:CLion
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_terminal_sessions.png)
ターミナルエミュレータ
CLion には、IDE 内からコマンドラインシェルを操作するための組み込みターミナルエミュレータが含まれています。専用のターミナルアプリケーションに切り替えることなく、Git コマンドの実行、ファイルのアクセス許可の設定、その他のコマンドラインタスクの実行に使用します。ターミナルプラグインを有効にするこの機能は、デフォルトで CLion にバンドルされて有効になっているターミナルプラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を...
![](https://pleiades.io/icons/clion.png)
実行 / デバッグ構成: Python
作成: 前提条件:Python の使用を開始する前に、Python プラグインがインストールされ、有効になっていることを確認してください。を押し、プラグインに移動し、インストール済みタブを調べてプラグインが有効になっていることを確認します。また、次の前提条件が満たされていることを確認してください。Python SDK がダウンロードされ、マシンにインストールされています。必要なフレームワーク SDK がダウンロードされ、マシンにインストールされています。詳細については、それぞれのダウンロードおよ...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_debugtoolwindow_overview.png)
デバッグツールウィンドウ
デバッグセッションを開始すると、デバッグツールウィンドウが開きます。このウィンドウでは、さまざまなデバッガーアクションを実行し、プログラムデータ(フレーム、スレッド、変数など)を分析できます。これは、デバッグツールウィンドウの概要です。ツールウィンドウの使用に関する一般的な手順については、ツールウィンドウを参照してください。ツールウィンドウのタブを切り替えるには、とを押します。セッション:使用可能なデバッグセッションは、デバッグツールウィンドウの上部でタブに分割されています。特定の実行 /
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_custombuildtargets_settings.png)
カスタムビルドのターゲットとアプリケーション
カスタムビルドターゲットは、特定のビルドシステムやプロジェクトモデルに依存しません。CLion は、ソースのビルドとビルドアーティファクトのクリーニングに選択した外部ツールを使用します。カスタムターゲットは、compilation database プロジェクトで特に役立ちます。compile_commands.json 自体にはアプリケーションの構築と実行に必要な情報が不足していますが、カスタムターゲットとカスタム実行 / デバッグ構成はこの制限を回避できます。次の例では、compilation...