ブレークポイント
ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、単純な場合(たとえば、コード行に到達したときにプログラムを一時停止する場合)や、より複雑なロジック(追加の条件に対するチェック、ログメッセージの書き込みなど)を伴う場合があります。
一度設定すると、ブレークポイントは、一時的なブレークポイントを除いて、明示的に削除するまでプロジェクトに残ります)。
ブレークポイントの種類
GoLand では、次のタイプのブレークポイントを使用できます。
行ブレークポイント : ブレークポイントが設定されたコード行に到達したらプログラムを中断します。このタイプのブレークポイントは、実行可能なコード行に設定できます。
例外ブレークポイント : サブクラスがスローされたときにプログラムを一時停止します。
panic()
がスローされます。
ブレークポイントの設定
行ブレークポイントを設定する
ブレークポイントを設定するコードの実行可能な行でガターをクリックします。または、行にキャレットを置き、Ctrl+F8 を押します。
例外ブレークポイントを設定する
デバッグツールウィンドウの左側のブレークポイントの表示
をクリックするか、Ctrl+Shift+F8 を押します。
ブレークポイントダイアログで、エラーブレークポイントに移動または JavaScript 例外ブレークポイントを選択します。
ブレークポイントの管理
ブレークポイントを除去する
例外以外のブレークポイントの場合: ガターのブレークポイントをクリックします。
すべてのブレークポイントの場合: メインメニューから除去 Delete をクリックします。
Ctrl+Shift+F8 を選択し、ブレークポイントを選択して、
誤ってブレークポイントを削除してそのパラメーターを失うのを防ぐために、エディターにドラッグするか、マウスの中央ボタンをクリックして、ブレークポイントを削除することを選択できます。これを行うには、エディターにドラッグまたはマウスの中ボタンをクリックを選択します。ブレークポイントをクリックすると、それが有効または無効になります。
に移動してブレークポイントのミュート
ブレークポイントでしばらく停止する必要がない場合は、ミュートできます。これにより、デバッガーセッションを移動することなく、通常のプログラム操作を再開できます。その後、ブレークポイントのミュートを解除して、デバッグを続行できます。
デバッグツールウィンドウのツールバーのブレークポイントのミュートボタン
をクリックします。
ブレークポイントを使用可能 / 使用不可にする
ブレークポイントを削除すると、その内部構成は失われます。パラメーターを失うことなく個々のブレークポイントを一時的にオフにするには、無効にすることができます。
非例外ブレークポイントの場合: 右クリックして、必要に応じて有効オプションを設定します。ブレークポイントの削除が割り当てられていない場合は、マウスの中央ボタンで切り替えることもできます。
すべてのブレークポイントの場合: ブレークポイントの表示 Ctrl+Shift+F8 をクリックして、リストのブレークポイントをオン / オフにします。
ブレークポイントの移動 / コピー
ブレークポイントを移動するには、それを別の行にドラッグします。
ブレークポイントをコピーするには、Ctrl を押したまま、ブレークポイントを別の行にドラッグします。これにより、宛先に同じパラメーターを持つブレークポイントが作成されます。
ブレークポイントのプロパティを構成する
ブレークポイントのタイプに応じて、特定のニーズに合わせて操作を調整できる追加のプロパティを構成できます。最も使用されるオプションは、インテンションを介して利用できます。
ブレークポイントインテンションにアクセスするには、ブレークポイントのある行にキャレットを置き、Alt+Enter を押します。このオプションは、基本的なブレークポイントプロパティをすばやく設定する必要がある場合に使用します。
プロパティの完全なリストにアクセスするには、ブレークポイントを右クリックして続きをクリックするか、Ctrl+Shift+F8 を押します。このオプションは、すべてのブレークポイントの鳥瞰図とその構成の完全な制御に使用します。
インテンションリファレンス
ブレークポイントのプロパティ
有効
プロジェクトから削除せずに一時的にブレークポイントを無効にするには、チェックボックスをオフにします。無効化されたブレークポイントは、ステップ実行中にスキップされます。
GoLand を構成して、ブレークポイントを完全に削除するのではなく、クリック時に有効 / 無効にすることができます。これを行うには、ブレークポイントを削除オプションをエディターにドラッグまたはマウスの中ボタンをクリックに設定します。
に移動し、中断
ブレークポイントに達したときにプログラムの実行を一時停止するかどうかを指定します。
非一時停止ブレークポイントは、プログラムを一時停止せずに式をログに記録する必要がある場合(たとえば、メソッドが呼び出された回数を知る必要がある場合)や、ヒットしたときに依存ブレークポイントを有効にするマスターブレークポイントを作成する必要がある場合に便利です。
条件
このオプションは、ブレークポイントがヒットするたびにチェックされる条件を指定するために使用されます。条件が true
と評価された場合、選択されたアクションが実行されます。それ以外の場合、ブレークポイントは無視されます。
式の結果は、return ステートメントから取得されます。return ステートメントがない場合、結果はコードの最後の行から取得されます。
式を評価するときは、プログラムの動作や結果に影響を与える可能性があるため、可能性のある副作用に注意してください。
ログオプション
ブレークポイントに到達すると、次のログがコンソールに記録されます。
"ブレークポイントヒット" メッセージ :
Breakpoint reached
のようなログメッセージスタックトレース : 現在のフレームのスタックトレース。これは、プログラムの実行を中断することなく、このポイントに至ったパスを確認する場合に役立ちます。
評価して記録 :
"Initializing"
やlen(users)
などの任意の式の結果。式の結果は、return ステートメントから取得されます。return ステートメントがない場合、結果は式でなくてもよいコードの最後の行から取得されます。リテラルも機能します。これを使用して、カスタムメッセージを生成したり、プログラムの実行中にいくつかの値を追跡したりできます。
式を評価するときは、プログラムの動作や結果に影響を与える可能性があるため、可能性のある副作用に注意してください。
一度ヒットしたら除去する
ブレークポイントを 1 回ヒットした後、プロジェクトから削除するかどうかを指定します。
次のブレークポイントに到達するまで無効にする
次のブレークポイントに到達するまで無効にするボックスでブレークポイントを選択すると、現在のブレークポイントのトリガーとして機能します。これにより、指定したブレークポイントに到達するまで現在のブレークポイントが無効になります。
これが発生した後に再び無効にするか、有効のままにするかを選択することもできます。
このオプションは、特定の条件下または特定のアクションの後でのみプログラムを中断する必要がある場合に役立ちます。この場合、通常、トリガーブレークポイントはプログラムの実行を停止するために必要ではなく、non-suspending になります。
ブレークポイントのステータス
ブレークポイントには、次のステータスがあります。
ブレークポイントアイコン
タイプとステータスに応じて、ブレークポイントは次のアイコンでマークされます。
行 | 例外 | |
---|---|---|
標準 | | |
無効 | | |
ミュート | | |
ミュート無効 | | |
中断しない | | |
無効 | |
生産性のヒント
- デバッグ印刷にブレークポイントを使用する
- non-suspending ロギング
- ロギングブレークポイントをより迅速に設定する
- non-suspending ロギング Shift
Breakpoint reached
Shift - ブレークポイントの説明を追加する
- ブレークポイント Ctrl+Shift+F8 説明の編集
- ブレークポイントのグループ化
- ブレークポイント Ctrl+Shift+F8
関連ページ:

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

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