GoLand 2020.3 ヘルプ

ブレークポイント

ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、単純な場合(たとえば、コード行に到達したときにプログラムを一時停止する場合)や、より複雑なロジック(追加の条件に対するチェック、ログメッセージの書き込みなど)を伴う場合があります。

一度設定すると、ブレークポイントは、一時的なブレークポイントを除いて、明示的に削除するまでプロジェクトに残ります)。

ブレークポイントの種類

GoLand では、次のタイプのブレークポイントを使用できます。

  • 行ブレークポイント : ブレークポイントが設定されたコード行に到達したらプログラムを中断します。このタイプのブレークポイントは、実行可能なコード行に設定できます。

  • 例外ブレークポイント : サブクラスがスローされたときにプログラムを一時停止します。 panic() がスローされます。

ブレークポイントの設定

行ブレークポイントを設定する

  • ブレークポイントを設定するコードの実行可能な行でガターをクリックします。または、行にキャレットを置き、Ctrl+F8 を押します。

    Debug a line breakpoint

例外ブレークポイントを設定する

  1. デバッグツールウィンドウの左側のブレークポイントの表示 View Breakpoints button をクリックするか、Ctrl+Shift+F8 を押します。

  2. ブレークポイントダイアログで、エラーブレークポイントに移動または JavaScript 例外ブレークポイントを選択します。

    Create an exception breakpoint

ブレークポイントの管理

ブレークポイントを除去する

  • 例外以外のブレークポイントの場合: ガターのブレークポイントをクリックします。

  • すべてのブレークポイントの場合: メインメニューから実行 | ブレークポイントの表示 Ctrl+Shift+F8 を選択し、ブレークポイントを選択して、除去 Delete をクリックします。

誤ってブレークポイントを削除してそのパラメーターを失うのを防ぐために、エディターにドラッグするか、マウスの中央ボタンをクリックして、ブレークポイントを削除することを選択できます。これを行うには、設定 / 環境設定 | ビルド、実行、デプロイ | デバッガーに移動してエディターにドラッグまたはマウスの中ボタンをクリックを選択します。ブレークポイントをクリックすると、それが有効または無効になります。

ブレークポイントのミュート

ブレークポイントでしばらく停止する必要がない場合は、ミュートできます。これにより、デバッガーセッションを移動することなく、通常のプログラム操作を再開できます。その後、ブレークポイントのミュートを解除して、デバッグを続行できます。

  • デバッグツールウィンドウのツールバーのブレークポイントのミュートボタン Mute Breakpoints button をクリックします。

ブレークポイントを使用可能 / 使用不可にする

ブレークポイントを削除すると、その内部構成は失われます。パラメーターを失うことなく個々のブレークポイントを一時的にオフにするには、無効にすることができます。

  • 非例外ブレークポイントの場合: 右クリックして、必要に応じて有効オプションを設定します。ブレークポイントの削除が割り当てられていない場合は、マウスの中央ボタンで切り替えることもできます。

  • すべてのブレークポイントの場合: ブレークポイントの表示 Ctrl+Shift+F8 をクリックして、リストのブレークポイントをオン / オフにします。

ブレークポイントの移動 / コピー

  • ブレークポイントを移動するには、それを別の行にドラッグします。

  • ブレークポイントをコピーするには、Ctrl を押したまま、ブレークポイントを別の行にドラッグします。これにより、宛先に同じパラメーターを持つブレークポイントが作成されます。

ブレークポイントのプロパティを構成する

ブレークポイントのタイプに応じて、特定のニーズに合わせて操作を調整できる追加のプロパティを構成できます。最も使用されるオプションは、インテンションを介して利用できます。

  • ブレークポイントインテンションにアクセスするには、ブレークポイントのある行にキャレットを置き、Alt+Enter を押します。このオプションは、基本的なブレークポイントプロパティをすばやく設定する必要がある場合に使用します。

  • プロパティの完全なリストにアクセスするには、ブレークポイントを右クリックして続きをクリックするか、Ctrl+Shift+F8 を押します。このオプションは、すべてのブレークポイントの鳥瞰図とその構成の完全な制御に使用します。

インテンションリファレンス

インテンション 説明
ブレークポイントを削除 選択した行のブレークポイントを削除します。
ブレークポイントを無効化 選択した行のブレークポイントを無効にします。
ブレークポイントの編集 最もよく使用されるブレークポイントプロパティを含むダイアログを開きます。その他のプロパティについては、続きをクリックするか Ctrl+Shift+F8 を押します。

ブレークポイントのプロパティ

有効

プロジェクトから削除せずに一時的にブレークポイントを無効にするには、チェックボックスをオフにします。無効化されたブレークポイントは、ステップ実行中にスキップされます。

GoLand を構成して、ブレークポイントを完全に削除するのではなく、クリック時に有効 / 無効にすることができます。これを行うには、設定 / 環境設定 | ビルド、実行、デプロイ | デバッガーに移動し、ブレークポイントを削除オプションをエディターにドラッグまたはマウスの中ボタンをクリックに設定します。

中断

ブレークポイントに達したときにプログラムの実行を一時停止するかどうかを指定します。

非一時停止ブレークポイントは、プログラムを一時停止せずに式をログに記録する必要がある場合(たとえば、メソッドが呼び出された回数を知る必要がある場合)や、ヒットしたときに依存ブレークポイントを有効にするマスターブレークポイントを作成する必要がある場合に便利です。

条件

このオプションは、ブレークポイントがヒットするたびにチェックされる条件を指定するために使用されます。条件が true と評価された場合、選択されたアクションが実行されます。それ以外の場合、ブレークポイントは無視されます。

式の結果は、return ステートメントから取得されます。return ステートメントがない場合、結果はコードの最後の行から取得されます。

式を評価するときは、プログラムの動作や結果に影響を与える可能性があるため、可能性のある副作用に注意してください。

ログオプション

ブレークポイントに到達すると、次のログがコンソールに記録されます。

  • "ブレークポイントヒット" メッセージ : Breakpoint reached のようなログメッセージ

  • スタックトレース : 現在のフレームのスタックトレース。これは、プログラムの実行を中断することなく、このポイントに至ったパスを確認する場合に役立ちます。

  • 評価して記録 : "Initializing"len(users) などの任意の式の結果。

    The Evaluate and log setting

    式の結果は、return ステートメントから取得されます。return ステートメントがない場合、結果は式でなくてもよいコードの最後の行から取得されます。リテラルも機能します。これを使用して、カスタムメッセージを生成したり、プログラムの実行中にいくつかの値を追跡したりできます。

    式を評価するときは、プログラムの動作や結果に影響を与える可能性があるため、可能性のある副作用に注意してください。

一度ヒットしたら除去する

ブレークポイントを 1 回ヒットした後、プロジェクトから削除するかどうかを指定します。

次のブレークポイントに到達するまで無効にする

次のブレークポイントに到達するまで無効にするボックスでブレークポイントを選択すると、現在のブレークポイントのトリガーとして機能します。これにより、指定したブレークポイントに到達するまで現在のブレークポイントが無効になります。

これが発生した後に再び無効にするか、有効のままにするかを選択することもできます。

このオプションは、特定の条件下または特定のアクションの後でのみプログラムを中断する必要がある場合に役立ちます。この場合、通常、トリガーブレークポイントはプログラムの実行を停止するために必要ではなく、non-suspending になります。

ブレークポイントのステータス

ブレークポイントには、次のステータスがあります。

ステータス 説明
無効 ブレークポイントでプログラムを一時停止することが技術的に不可能である場合、デバッガーはプログラムを無効としてマークします。この最も一般的な原因は、行に実行可能コードがないことです。
ミュート すべてのブレークポイントはミュートされているため、一時的に非アクティブです。
無効 それはされているため、このブレークポイントが一時的にアクティブで無効
中断しない このブレークポイントには中断ポリシーが設定されているため、ヒットしたときに実行が中断されることはありません。

ブレークポイントアイコン

タイプステータスに応じて、ブレークポイントは次のアイコンでマークされます。

例外
標準 line breakpoint exception breakpoint
無効 disabled line breakpoint disabled exception breakpoint
ミュート muted line breakpoint
ミュート無効 muted disabled line breakpoint
中断しない non-suspending line breakpoint
無効 invalid breakpoint

生産性のヒント

デバッグ印刷にブレークポイントを使用する
non-suspending ロギング
ロギングブレークポイントをより迅速に設定する
non-suspending ロギング Shift Breakpoint reached Shift
ブレークポイントの説明を追加する
ブレークポイント Ctrl+Shift+F8 説明の編集
ブレークポイントのグループ化
ブレークポイント Ctrl+Shift+F8 グループに移動

関連ページ:

プログラムのステップスルー

ステップは、プログラムの段階的な実行を制御するプロセスです。GoLand は、戦略に応じて使用される一連のステップアクションを提供します(たとえば、次の行に直接移動するか、途中で呼び出されたメソッドを入力する必要があるかなど)。ステップボタンは、デバッグツールウィンドウのツールバーにあります。ステップオーバー:現在のコード行をステップオーバーし、ハイライトされた行にメソッド呼び出しが含まれている場合でも、次の行に移動します。メソッドの実装はスキップされ、呼び出し元メソッドの次の行に直接移動しま...

デバッガーセッションを開始する

デバッガーセッションの開始は、通常モードでのプログラムと非常に似ています。デバッガーはバックグラウンドで接続されているため、デバッガーセッションを開始するために特別な設定を行う必要はありません。GoLand からプログラムを実行できる場合は、同じ構成を使用してプログラムをデバッグすることもできます。このトピックは、実行 / デバッグ構成の理解に依存しています。GoLand は追加のセットアップなしで単純なアプリケーションをデバッグする方法を提供しますが、デバッガーを効率的に使用するには実行 /...