12

この質問boost::ptr_containerからの回答の結果として使用を検討しています。ライブラリに関する私の最大の問題は、MSVCデバッガーがコレクションを認識しないため、デバッガーでコレクションの内容を表示できないことです。そのため、コンテナーの内容を表示できません。(すべてのデータは内部として保存されます)void *

MSVCには「デバッガビジュアライザー」と呼ばれる機能があり、ユーザーがこれらの種類のことについてデバッガーをよりスマートにすることができると聞きましたが、私はこのようなことを書いたことがなく、そのようなことについてはそれほど固執していません。

たとえば、の動作boost::shared_ptrをMSVC独自ののと比較しますstd::tr1::shared_ptr。デバッガー(つまり、ウォッチウィンドウ)では、ブーストバージョンは、共有ポインターの実装に使用される内部変数の大きな混乱として表示されますが、MSVCバージョンは、オブジェクトへのプレーンポインターとして表示されます(およびの内部shared_ptrは隠れた)。

そのようなものを使用または実装するにはどうすればよいですか?

4

4 に答える 4

13

あなたが望むかもしれないすべてのデバッガビジュアライザーを(を通して)提供するこのリンクを見てください:autoexp.dat

すべてのビジュアライザーは svnで利用できます。現在、次のBoostタイプをサポートしています。

  • boost :: array、ptr_array、ptr_deque、ptr_list、ptr_map、ptr_multimap、ptr_set、ptr_multiset、ptr_vector
  • boost :: interprocess :: offset_ptr
  • boost ::optional
  • boost :: multi_index_container
  • boost :: shared_ptr
  • boost :: posix_time :: ptime、
  • boost :: posix_time :: time_duration(2つのバリアントが利用可能)
  • boost :: regex
  • boost ::variant
于 2010-12-26T09:43:23.003 に答える
3

MSDNに関するいくつかの有用な情報:

codeprojectのサンプルまたは2つ:

それらはすべて何らかの形で関与autoexp.datしているため、効果的な検索用語になります。

于 2010-12-26T01:00:44.090 に答える
2

この拡張機能はVisualStudio2012以降で使用できます。このリンクを確認してください。VisualStudio2008/2010のboostsvnのビジュアライザーに基づいています

拡張機能は、次のBoostタイプをサポートします。

  • boost :: shared_ptr、boost :: weak_ptr、boost :: intrusive_ptr、boost :: shared_array、boost :: scoped_ptr、boost :: scoped_array
  • boost :: ptr_array、boost :: ptr_vector、boost :: ptr_list、boost :: ptr_deque、boost :: ptr_map、boost :: ptr_set、boost :: ptr_multimap、boost :: ptr_multiset
  • boost :: array、boost :: dynamic_bitset、boost :: Circular_buffer boost :: unordered_map、boost :: unordered_set、boost :: unordered_multimap、boost :: unordered_multiset
  • boost :: intrusive :: list、boost :: intrusive :: slist
  • boost :: container :: basic_string、boost :: container :: deque、boost :: container :: vector
  • boost :: option、boost :: any、boost :: Variant
  • boost :: filesystem :: path、boost :: filesystem :: directory_entry、boost :: filesystem :: file_status
  • boost :: posix_time :: ptime、boost :: posix_time :: time_duration
  • boost :: regex
  • boost :: interprocess :: offset_ptr
  • boost :: tribool
  • boost :: unique_lock
  • boost :: uuids :: uuid
于 2012-10-22T17:16:40.807 に答える
-1

デバッガービジュアライザーは、それらに関する詳細情報を提供するhttp://msdn.microsoft.com/en-us/library/zayyhzts.aspxによると、マネージコードでのみ使用できます。

于 2010-12-26T00:51:50.773 に答える