Visual Studio 2013 のデバッガーの新機能
内容
Asynchronous Debugging in Windows Store Apps
Just My Code for C++ and JavaScript Debugging
64-bit Edit and Continue for the .NET Framework
Return value inspection for .NET Framework Methods
.NET Framework Memory Analysis with Dump Files
Debug with Debugging Tools for Windows
Code Map Debugging
IntelliTrace Debugging
Windows ストア アプリでの非同期デバッグ
デバッガーでは Windows ランタイムの非同期プログラミング モデルのサポートが強化されています。 .NET Framework の言語では、このモデルは async/await キーワード (Visual Basic では Async/Await) を使用して表現されています。 C++ と C++/Cx では、このモデルは task オブジェクトと .then 連結文字を使用してサポートされています。 さらに JavaScript では、promise オブジェクトと .then 連結文字が使用されます。
[呼び出し履歴] ウィンドウでは、非同期関数を呼び出すメソッドが [Async Call] 情報フレームに表示されます。
[タスク] ウィンドウ (以前の [並列タスク] ウィンドウ) には、新しいモデルがタスクとして表示され、タスクに関するより詳細な情報も示されます。 「[タスク] ウィンドウの使用」を参照してください。
C++ の Windows ストア アプリに関するより詳細な例外レポート Visual Studio デバッガーにより、Windows ランタイム コンポーネントで発生した C++ 例外のスタック トレースをキャプチャできるようになりました。 それらのキャプチャされたスタック トレースは、Platform::Exception から派生した例外オブジェクトで使用可能であればいつでも表示できます。
初回例外でデバッガーによって表示される例外ダイアログ ボックスには、例外が発生した時点でのスタック トレースが示されます。
[ウォッチ] ウィンドウに$exceptionstack 擬似変数を追加することで、デバッグ セッションで今後の Windows ランタイムの例外を調べることができます。 例外が現在のスレッドで発生した場合は、[ウォッチ] ウィンドウでエントリを展開し、スタック トラック トレースを表示して、例外の原因となったソース コードに移動できます。 例外ダイアログ ボックスで [例外スタック トレースをウォッチ対象に追加] リンクを選択することで、$exceptionstack を観察することもできます。
詳細については、Visual Studio ALM + Team Foundation Server のブログで「この投稿」を参照してください。
C++ および JavaScript の [マイ コードのみ] デバッグ
[マイ コードのみ] では、非ユーザー コード (システムや Win.JS、サード パーティ ライブラリのコードなど) は [呼び出し履歴] ウィンドウで非表示になります。 [マイ コードのみ] により、非同期コードのデバッグや、JavaScript と C++ の混合モードでのデバッグで、自分のメソッドをはるかに見つけやすくなります。
[マイ コードのみ] は Visual Studio 2013 では既定で有効になっています。 [呼び出し履歴] のすべてのコードを表示するには、[デバッグ] メニューの [オプションと設定] をクリックし、[マイ コードのみを有効にする] チェック ボックスをオフにします。 この設定は [マイ コードのみ] をサポートしているすべてのプログラミング言語に適用されることに注意してください。
.NET Framework 用の 64 ビット エディット コンティニュ
デバッガーで、64 ビット プラットフォームを対象とするアプリ用にエディット コンティニュがサポートされるようになりました。
.NET Framework メソッドの戻り値の検査
[自動変数] ウィンドウでメソッドの戻り値を表示できるようになりました。 この機能は特に組み込みメソッド (別の関数にパラメーターとして渡されるメソッド) に便利です。
「メソッド呼び出しの戻り値の調査」を参照してください。
ダンプ ファイルによる .NET Framework のメモリ分析
稼動環境で実行中の .NET アプリケーションに頻繁に影響する問題の 1 つが、アプリケーションおよびコンピューター全体に影響する可能性があるメモリ使用の問題です。 Visual Studio 2013 では、.NET Framework の Web、データベース、およびデスクトップ アプリケーションでのメモリ リーク、非効率的なメモリの使用、不要な割り当てを検出できるように、ダンプ ファイル分析ツールが拡張されています。
注意
.NET Framework のダンプ ファイルのメモリ分析は、Windows ストア アプリではサポートされません。JavaScript アプリについては、「Analyzing memory usage in Windows Store apps (JavaScript) (Windows ストア アプリのメモリ使用量の分析 (JavaScript))」を参照してください。
.NET メモリ分析ツールの詳細については、Visual Studio ALM + Team Foundation Server ブログの「この投稿」を参照してください。 ダンプ ファイルの詳細については、「ダンプ ファイルを使用したアプリのクラッシュとハングのデバッグ」を参照してください。
Windows 対応のデバッグ ツールによるデバッグ
注意
WinDbg でマネージ プログラムをデバッグするのに役立つ SOS.dll (SOS デバッガー拡張) は、Visual Studio IDE では使用できません。「Debugging Managed Code Using the Windows Debugger (Windows デバッガーを使ったマネージ コードのデバッグ)」を参照してください。
Visual Studio IDE で Windows 対応のデバッグ ツールを使用できます。 Windows Driver Kit (WDK) に含まれているデバッグ ツールをインストールする必要があります。 「Windows 8.1: キットとツールのダウンロード」を参照してください。
コード マップ デバッグ
コード マップを作成することで、Visual Studio Ultimate でのデバッグ中の呼び出し履歴が視覚化されます。 また、コード マップを使用して、コード内を視覚的に移動することもできます。 「Visual Studio でデバッグを行うときの呼び出し履歴に対するメソッドのマップ」を参照してください。
IntelliTrace デバッグ
-
Microsoft Monitoring Agent により (単独または System Center 2012 と連携して)、IIS Web アプリを例外とパフォーマンス イベントについてローカルで監視します。 Visual Studio Ultimate でこれらの問題を詳しく調査し、特定のイベントからデバッグを開始するときに配置されたコードに移動できるように、IntelliTrace ログにこれらのイベントを記録できます。
配置内の SharePoint 2010 および SharePoint 2013 アプリケーションからの診断イベントを Microsoft 監視エージェントで記録します。
Visual Studio Ultimate でこれらの問題をさらに調査し、IntelliTrace で特定のイベントからデバッグを開始できるように、ユーザー プロファイル イベント、Unified Logging System (ULS) イベント、および IntelliTrace イベントを IntelliTrace ログに保存できます。
「配置後に問題を診断するためのリリースのセットアップ」および「What's New for System Center 2012 R2 Operations Manager (System Center 2012 R2 のオペレーション マネージャーの新機能)」を参照してください。