1

Live と IntelliTrace Debugging に違いはありますか?

また、C++ のコーディング中に IntelliTrace を使用できないのはなぜですか? c++ のコーディング中にそれを使用する方法がある場合、どのように適応できますか?

4

2 に答える 2

1

IntelliTrace は、ライブ デバッグとは異なります。http://msdn.microsoft.com/en-us/library/dd264915.aspx

.net 環境を使用するため、C++ には実装されていません。IntelliTrace はVisual Studio Ultimate(または VS2015 の時点では Enterprise、ただし将来のリリースでは変更される可能性があります) でのみ利用でき、上記のリンクは既にすべての機能を説明しています。

ライブ デバッグと IntelliTrace の違いは、ある種の "再生可能性" です。ライブ デバッグでダンプを作成することはできますが、IntelliTrace を使用するとアプリケーションの履歴を収集して確認することができますが、取得できるのは 1 つの時点だけです。IntelliTrace は、アプリケーションの実行中にデータを記録するように構成する必要があります。

上記のページからコピペします。

従来のデバッグまたはライブ デバッグでは、アプリの現在の状態のみが表示され、過去のイベントに関する限られたデータが表示されます。アプリの現在の状態に基づいてこれらのイベントを推測するか、アプリを再実行してこれらのイベントを再作成する必要があります。

IntelliTrace は、これらの時点で特定のイベントとデータを記録することにより、この従来のデバッグ エクスペリエンスを拡張します。これにより、アプリを再起動せずにアプリで何が起こったのかを確認できます。特に、バグの場所を通り過ぎた場合に役立ちます。IntelliTrace は、従来のデバッグ中に既定で有効になり、データを自動的かつ非表示に収集します。これにより、従来のデバッグと IntelliTrace デバッグを簡単に切り替えて、記録された情報を表示できます。Visual Studio でデバッグするために IntelliTrace を使用してコード実行を記録する および IntelliTrace はどのようなデータを収集しますか? を参照してください。

ちょっとした逸話: Visual Studio チームは、より多くの人がアクセスできるようにするために、できるだけ多くの機能を下位エディションにプッシュしようとしていますが、どのエディションでどの機能を利用できるかは、マーケティング部門によって決定されます。

于 2014-02-07T14:31:44.837 に答える
1

ライブ デバッグの場合、ターゲット アプリケーションは一時停止され、デバッガーはターゲット プロセス全体を監視 (場合によっては変更) できます。

IntelliTrace は、その名前が示すように "スマート トレース" として理解できるため、重要と見なされる特定の情報がログ ファイル (.itrace ファイル) に記録されます。ログ ファイルを保存して、後で別のマシンで開くことができます。記録される情報には、アプリケーションのプロセス、スレッド、モジュール、IntelliTrace イベント、およびユーザーの構成に基づく関数呼び出しが含まれます。各イベントおよび関数呼び出しについて、選択されたパラメーター値を含む呼び出し履歴も記録されます。

Visual Studio には、このログを表示するための UI が必要であり、デバッガー UI にはほとんどすべてが備わっています。正確ではありませんが、"IntelliTrace のデバッグ" は、デバッガー UI でトレース ログを表示することとして一般的に理解できます。ほとんどのデバッガー ウィンドウ (プロセス、スレッド、コール スタック、ローカル、モジュールなど) は期待どおりに動作しますが、ターゲット アプリケーションの履歴で発生したイベントまたは関数呼び出しを表示するだけです。ユーザーは、ターゲット アプリケーションを観察することはできますが、変更することはできません。

于 2014-02-09T00:53:41.810 に答える