概要
Logpointは、コンソール(*1)にメッセージを記録するデバッグ機能です。ソースを編集しないため、簡単にログの追加・削除が出来ます。
Logpoint単独ではブレークしませんが、ExpressionやHit Countと共に使用することでブレークも可能です。
詳細は下記をご確認ください。
Introducing Logpoints and auto-attach (visualstudio.com)のIntroducing Logpoints
(*1)DEBUG CONSOLE
Logpoint(ブレーク無し)
赤枠部を右クリックしてください。
Add Logpointをクリックしてください。
Log Message項目に、コンソールに出力したいメッセージを書いてください。
変数の値・関数の戻り値を出力:{変数}、{関数呼び出し}の様に{}で囲む
任意の文字列を出力:{}を記載せずに好きな文字列を書く。ここでは「Logpoint:」と書いている。
Logpointが設定された箇所には菱形のマークが表示されます。
キーボードのF5を押し、Python Fileをクリックしてください。
DEBUG CONSOLEに設定した内容が出力されます。
空白行にLogpointを設定した時の挙動と対策
空白行にLogpointを設定した場合、その行より上にある一番近い非空白行でLogpointを設定した時と同様の挙動になります。以降の画像のLogpointはそれぞれ、a, b, cの値をログ出力するように設定されています。
下記は、5行目のLogpointのみを有効化した時のログです。for文にLogpointを設定すると不要なログが出力されてしまうため、Logpointの設定箇所を工夫する必要があります。
※変数dの値を出力したい場合は、for文にLogpointを設定すべきです。
下記は、8行目のlogpointのみを有効化した時のログです。a,b,cの値が正しく出力されています。
下記方針でLogpointを設定したら良いです。
- 出力したい値がある行より下の非空白行に設定。例えば、5行目に出力したい値(変数 等)がある場合は、6行目以下の非空白行に設定。
- 不要なログ出力を防ぐためにfor文を避けてLogpointを設定する。但し、for文の中に出力したい値がある場合を除く。
Logpoint(ブレーク有) ※Expressionを使用
Logpointとブレークを併用する方法を説明します。ブレーク設定しているLogpointがある処理を通過した時にログを出力し、ブレークする条件でブレークします。条件と一致するときのみ、ログを出力するわけではないので注意してください。
前提として、前述の「Logpoint(ブレーク無し) 章」の設定をしている状態とします。
Epressionを使用していますが、Expressionの代わりにHit Countを設定した場合も同様にブレークします。
菱形マークをクリックしてください。
Expressionをクリックしてください。
条件を入力してください。ここでは、iが1の時にブレークするようにしています。
iが1の時にブレークしています。Logpoint機能によるメッセージも出力されています。
DEBUG CONSOLEのFIlter機能で、ログ出力をフィルター
DEBUG CONSOLEのFilter機能によって、Logpointで出力したログにフィルターをかけることができます。
詳細は下記をご確認ください。
vscode-docs/v1_49.md at vnext · microsoft/vscode-docs · GitHub
DEBUG CONSOLEに0から9まで出力しています。Filterをかけていない状態です。
Filterボックスに1を入力して、ログに1を含む行を表示しています。
Filterボックスに!1を入力して、ログに1を含まない行を表示しています。
コメント