2

は私が持っているm_Value変数:Visual Studio 2010でデバッグ中に隠しタイプのboost :: variant変数を取得するにはどうすればよいですか?

boost::variant< int64_t, float64_t, std::string > m_Value 

私はデバッグしながら、私は隠されたタイプを取得したい:それはint64_tのOR float64_t ORのstd ::文字列のですか?

残念ながら、私はVisual Studioの「Locals」ウィンドウの変数の説明でそれを見つけることができません(下記参照)。表示されている場所を知っていますか?

enter image description here

+2

'部材(索引によって)を示しますwhich_' - '1'第二、およびように第1のタイプは、 '0'です。何らかの形で表示されている.natvisビジュアライザを書くことは可能かもしれませんが、VS2010でもそれらが利用可能かどうかはわかりません。 – melak47

+0

メンバーを証明する 'which_'はすでに非常に役立っています。ありがとうございました! –

答えて

3

デバッグビジュアライザがここにあります:https://github.com/KindDragon/CPPDebuggerVisualizers、それはブーストタイプのサポートが含まれています

  • boost::shared_ptrboost::weak_ptrboost::intrusive_ptr
  • boost::shared_arrayboost::scoped_ptrboost::scoped_array
  • boost::ptr_arrayboost::ptr_vectorboost::ptr_list
  • boost::ptr_dequeboost::ptr_map、​​、
  • boost::ptr_multimapboost::ptr_multisetboost::array
  • boost::dynamic_bitsetboost::circular_bufferboost::unordered_map
  • boost::unordered_setboost::unordered_multimap
  • boost::unordered_multisetboost::intrusive::list
  • boost::intrusive::slistboost::intrusive::set
  • boost::container::basic_stringboost::container::deque
  • boost::container::vectorboost::optionalboost::anyboost::variant
  • boost::filesystem::pathboost::filesystem::directory_entry
  • boost::filesystem::file_statusboost::posix_time::ptime
  • boost::posix_time::time_durationboost::multiprecision
  • boost::rationalboost::regexboost::interprocess::offset_ptr
  • boost::triboolboost::unique_lockboost::uuids::uuid
+0

残念ながら、DebuggerVisualizersはVS 2012以降で使用できるようです。 –

+1

同様のものが存在しましたが、別の定義形式を使用していました。 Google検索が役立つはずです。 'autoexec.exp'またはこれに類するファイル名を覚えているようです。 – sehe

+0

はい、[このリンク](https://svn.boost.org/trac/boost/wiki/DebuggerVisualizers)では、**ネイティブC++デバッガMSVS 2005/2008/2010のビジュアライザー¶**。 –

関連する問題