メイン コンテンツへスキップ
Visual Studio
コードのデバッグ、プロファイル、診断 | Visual Studio2023-05-15T12:52:30-07:00

バグをすばやく検出する

検査、診断、プロファイル作成が容易に

多言語デバッグ

すべてのコードの高機能なデバッグ

デバッグ中にエディターで変数に関する情報をすぐに確認できます。 データのヒントを使って、変数の名前と現在の値を確認したり、オブジェクトを拡張してオブジェクトの要素を確認したり、変数の値を編集したりすることができます。

あらゆるプラットフォームまたは場所で

ローカル、リモート、および運用環境

Visual Studio はどこで実行されるコードでもデバッグできます。デスクトップ上にあるローカルな Windows アプリを起動することや、Android エミュレーターで起動することから、リモートの Azure インスタンス、iOS デバイス、ゲーム コンソール、任意の Web ブラウザーに接続することまで行えます。

IntelliTrace およびダンプ ファイルの詳細分析などの機能を使用して、運用環境で問題をオフラインでデバッグできます。

デバッグ ウィンドウのスクリーンショット

詳細に設定された制御

アプリケーションの実行を中断および一時停止する場所とタイミングを正確に制御可能

ブレークポイントを使用して、実行中のプログラムを、バグが疑われる箇所で一時停止します。 より複雑なシナリオを評価するための条件およびアクションを備えた高度なブレークポイントや、アプリケーション コードの共通パスを簡単にデバッグするための使用依存型ブレークポイントを使用することで、物事を次のレベルに進めることができます。

特定の行でのデバッグ モードへの移動は、[カーソル行の前まで実行] を使用するとはるかに簡単に行えます。または、[カーソルまで強制的に実行] を使用すると、ブレークポイントを失うことなくデバッグを早送りすることができます。

柔軟に状態を検査

ダーク テーマの同じイメージです

必要な場所でアプリケーションを一時停止すると、変数値の検査を行うさまざまな手段が Visual Studio によって提供され、仮説を立てたり検証したりすることができます。

コードのステップ実行中における値の監視、ローカル変数のすばやい確認、複雑な式の評価をすべて、デバッガーから離れることなく行うことができます。 データ構造を対話式で詳細にクエリ実行することもできます。

何らかの問題が生じた場合にアラートを生成

コードの欠陥や予期しない状況は例外となって現れます。 例外によってアプリがクラッシュすることもあれば、突き止めるのが難しいバグになるだけの場合もあります。

Visual Studio でデバッグを行いながら、例外がスローされたときの通知の構成、さらには注意を向ける特定の例外の選択を行うことができます。 例外が発生すると、内部例外の情報や null 参照の分析結果と併せて、この場所に即座に警告が表示されるため、ブレークポイントに到達したときのように簡単に問題を確認できます。

Build rich cross-platform native apps

複雑なマルチスレッド コードの制御と検査の単純化

ご存じのとおり、マルチスレッド コードのデバッグはたいへん難しい作業です。 Visual Studio を使用すると、一度にマルチスレッドの実行を制御し、多数のスレッドの状態を検査できるので、全体像をすぐに把握できます。

1 つのグラフィカル ビューですべてのスレッドの呼び出し履歴を確認し、マルチスレッド間で式を評価して値の比較を行うことができます。 スレッドとタスクに関する情報の表示、フラグの指定、停止が簡単です。 実行コンテキストを迅速に切り替えたり、スレッド マーカーを使用して、ある時点で実行されているスレッドのコード行を確認したりできます。

Access everything you need in one place

コードが必要とする詳細情報を把握可能

場合によっては、特にシステム レベルの C++ コードの場合、見つけるのが困難なバグを診断するにはハードウェア レベルまで降りる必要があります。 Visual Studio では、”メモリ”、”レジスタ”、”逆アセンブリ” の各ウィンドウを使用してこれを行えます。

Build rich cross-platform native apps

アプリを迅速かつ堅牢にする

コード作成中に、パフォーマンスを向上させる選択を行うための情報を取得できます。 エディターの PerfTips 機能や診断ツールを使用して、デバッグ中にコードのパフォーマンスとメモリの特性を理解できます。

デバッガーを使用することなく、包括的なプロファイル ツールによって、CPU、GPU、メモリ使用、UI 応答性、ネットワーク使用率といったアプリのパフォーマンスに関する詳細な分析情報が得られます。

Build rich cross-platform native apps

すべてのニーズを満たすツール

CPU 使用率の分析や、.NET 割り当てツールによる不要なメモリ割り当ての追跡など、パフォーマンス プロファイラーには、パフォーマンスの調査を行うためのツールが用意されています。

Comprehensive performance toolkit

パフォーマンスの問題を発見するための視覚化

パフォーマンス プロファイラーには、CPU 使用率ツールのフレーム グラフのような視覚化が豊富に用意されており、どのコード パスが CPU の時間を最も多く消費しているかを追跡することができます。 呼び出し履歴で関心のある関数を見つけたら、そのままソース コードにアクセスしてパフォーマンスを向上させましょう。

Visualize expensive code paths

パフォーマンスに関する分析情報の概要

CPU 使用率ツールの概要ページで分析情報を素早く取得することができます。 最上位の関数であるホット パスが強調表示されるので、パフォーマンスの問題の原因に直接確認することができます。

Summarized performance insights

「再現できない」ことがない

.NET コードのコード実行履歴

.NET コードを編集して F5 を押してテストすると、予期しない動作、つまりバグが生じることがあります。 そうしたバグの診断には、何時間もかけてソース コード全体を検索し、関連するコードを見つけ、ブレークポイントを設定する箇所を考えるという作業を繰り返す必要が生じることもあります。

Visual Studio の診断ツールと IntelliTrace を使用すると、ブレークポイントを使用せずに、コードの実行履歴を確認し、逆方向にナビゲートして状態を検査できます。

フィードバック