Visual Studioコードの実験的な.NETコアデバッグ機能

本日、Visual Studio Codeエディターの一部として、 ASP.NET Core CLIツールキットのデバッガーの最初の実験的および評価バージョンをリリースします 。 最初に、いくつかのことに言及する必要があります。





この最初のリリースでは、ブレークポイント、ステップごとの実行、変数追跡、および呼び出しスタックがサポートされています。









ただし、.NET Coreおよびデバッグ機能は開発の初期段階にあるため、VS CodeにはVisual Studio IDEユーザーになじみのある多くの機能がありません。 エディターのいくつかの機能は次のとおりです。





実装の最も重要な機会を選択するために、フィードバックをお待ちしています。 詳細は、この出版物の最後にあります。



はじめに



まず、一連のアクションを実行する必要があります( 詳細な手順はGitHubページで提供されています )。





デバッグ機能





デバッグ用に他に何を設定できますか?



拡張機能をインストールして構成すると、上記の基本的なデバッグ機能にアクセスできるようになります。 ただし、launch.jsonファイルを使用すると、さらに多くの機能を構成できます。



エントリーポイントで停止



stopAtEntryチェックボックスが選択されている場合、デバッガはアプリケーションへのエントリポイントで自動的に停止します。 これにより、ブレークポイントを設定せずに、コードを段階的に実行できます。



ASP.NETアプリケーションの構成のデバッグ



デフォルトのデバッグ構成に加えて、構成があります NET Core Launch web )は 、ASP.NETアプリケーションに適切な初期デバッグ機能を提供します。 追加の「launchBrowser」セクションが含まれており、各デバッグの開始時に、開発に使用するコンピューターでWebブラウザーを開くことができます。 最初はデフォルトのブラウザを使用するように設定されていますが、ファイル内のコマンドを変更することで別のブラウザを選択できます。 開始して実際のASP.NETを試すには、 GithubからASP.NET CLIサンプルをダウンロードしてください。



Operaでページを開くためのlaunch.jsonファイル設定の例を次に示します。



"osx": { "command" : "open", "args" : "-a opera ${auto-detect-url}" } …
      
      





開くURLを変更する



ブラウザで開くURLも変更できます。 デフォルトでは、デバッガーはURLを自動的に決定し、サーバーがリッスンしているURLに移動します。 プレースホルダー$ { auto - detect - url }は、URLを自動的に検索するコマンドを意味します。 構成のどのセクションでも使用できます。 http:// localhost:5000 / api / customers / 42など、デバッグ中に特定のURLのみを使用する必要がある場合、このアドレスを手動で開かないようにデフォルト値を変更できます。



接続スクリプト



接続シナリオでは、3番目の構成セクションが統合されています。 デバッグ用のアプリケーションプロセスの名前を指定するだけです。 私たちの場合、これはHelloWorldです。 dotnet runコマンドを使用してコマンドラインからアプリケーションを実行する場合は、デバッガーを起動する前に構成が選択されていることを確認してください NET Core Attach



複数のプロセスが同じ名前で実行されている場合、 processName (プロセス名)の代わりにprocessIdパラメーター(プロセス識別子)の値を指定できます。 両方のプロパティを同時に使用しないでください。















非表示の構成プロパティ



現在、構成ではデフォルトで3つの追加プロパティが表示されません。 ドキュメントを詳しく調べることなくそれらに精通したい場合は、ここにヒントがあります:launch.jsonに文字 o 」を入力します(先頭の引用符を忘れないでください)。自動補完機能は、文字「o」を含むプロパティのリストを表示します。









この機能は編集時に役立ちますが、常に最新のドキュメントが必要になる場合があります。 いつものように、最終的な真実はコードで示されています。 詳細を調べたい場合は、インストールフォルダに注意してください- パッケージファイルが含まれてます json これは、有効な構成のメインテンプレートです。 このシンプルで簡単なjsonファイルは、現在のバージョンの拡張機能に対してマシンで可能な構成の非常に良いアイデアを提供します。















symbolPath

symbolPathパラメーターを使用すると、パスの配列を指定してシンボルをデバッグできます。 文字が中央サーバーにある場合、または開発中に複数のオペレーティングシステムが使用されている場合、非常に便利です。 特定のオペレーティングシステムで生成されたシンボルは、他のシステムで使用できます。



有効な文字パス構成は次のとおりです。



  “symbolPath”:”[ \”/Volumes/symbols\” , \”/OtherVolume/otherSymbols\” ]”
      
      





justMyCode

デバッグ中にコードが段階的に実行される場合、作成者ではないフレームワークまたはコンポーネントのコードへの切り替えが不要になることがあります。 したがって、 justMyCode関数を作成しました。 通常のデバッグ中の環境のこの動作が最も便利なように見えるため、デフォルトではオンになっています。 ただし、フレームワークまたは外部コンポーネントのコードをデバッグする場合は、falseに設定してください。



 “justMyCode”:false
      
      





sourceFileMap

デバッガをデバッグセッションのソースファイルにポイントする場合は、sourceFileMapプロパティを使用してマッピングテーブルを指定します。 このプロパティには、任意の数のレコードを含めることができます。 必要なソースコードファイルを正確にデバッグするのに役立ちます。 構成例を以下に示します。



 “sourceFileMap”: { “C:\foo\bar”:”/home/me/foo/bar” }
      
      





フィードバックを送信



冒頭で述べたように、これはデバッグツールの最初の実験的リリースであり、それらを改善するにはあなたの助けが必要です。 Visual Studio Codeでの作業に関するニュースを定期的に受け取り、.NET Coreアプリケーションの開発に関するフィードバックを送信する場合は、Visual Studio Code .NET Core Insidersグループに参加してください



いつものように、フィードバックをお待ちしています。 好きなものとそうでないもの、どの機能が欠けているか、ワークフローのどのコンポーネントがあなたに適しているか、または適切でないかを教えてください。 GithubのページまたはTwitterで 問題に関するメッセージを送信することによりメールでお問い合わせいただけます



著者について



Daniel Meixnerは、ドイツのマイクロソフトのテクニカルエバンジェリストです。 クロスプラットフォームのアイデアを固く信じています。 ソフトウェア開発での彼のキャリアは波乱に富んでおり(楽しいものでもそうでもないものでもあります)、多くの観点から業界を理解しています。 マイクロソフトに入社する前は、Visual Studio ALMおよびALM RangerでMVPステータスを取得し、企業環境でALMソリューションのコンサルタントおよびアーキテクトとして働いていました。 ダニエルのブログhttp://DevelopersDevelopersDevelopersDevelopers.NETを確認するか、 Twitterでフォローしてください。



便利なリンク






All Articles