2

I have a m_Value değişken:Görsel stüdyon 2010'da hata ayıklama sırasında gizli tipte boost :: değişken değişkeni nasıl alınır?

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

ben hata ayıklama yaparken gizli tipini almak istiyorum: Bu int64_t VEYA float64_t VEYA std :: dizedir?

Ne yazık ki, Visual Studio'daki "Yereller" Penceresinde değişken açıklamasında bulamıyorum (aşağıya bakın). Nerede görüntülendiğini biliyor musunuz?

enter image description here

+2

'üyesi (dizine göre) anlatır which_' -' 1' ikinci ve benzeri birinci tip, '0' olduğunu. Bir şekilde görüntüleyen bir .natvis görselleştirici yazmak mümkün olabilir, ancak bunların VS2010'da bile mevcut olup olmadığından emin değilim. – melak47

+0

Üyenin “hangisi” olduğunu çoktan faydalı olduğunu kanıtlayın. Teşekkür ederim! –

cevap

3

ayıklama görselleştiricileri burada vardır:

  • boost::shared_ptr

      , boost::weak_ptr, boost::intrusive_ptr,
    • boost::shared_array, boost::scoped_ptr, boost::scoped_array
    • boost::ptr_array, boost::ptr_vector: https://github.com/KindDragon/CPPDebuggerVisualizers, bu boost türleri için destek içerir ,.210,
    • boost::ptr_deque, boost::ptr_map, boost::ptr_set,
    • boost::ptr_multimap, boost::ptr_multisetboost::array,
    • boost::dynamic_bitset, boost::circular_bufferboost::unordered_map,
    • boost::unordered_set, boost::unordered_multimap,
    • boost::unordered_multiset, boost::intrusive::list,
    • boost::intrusive::slist, boost::intrusive::set
    • boost::container::basic_string, boost::container::deque,
    • boost::container::vectorboost::optional, boost::any, boost::variant
    • boost::filesystem::path, boost::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

    Ne yazık ki DebuggerVisualizer VS 2012'den itibaren mevcut görünüyor. –

    +1

    Benzer şeyler vardı ama farklı bir tanım biçimi kullanılıyordu. Bir Google araması yardımcı olmalıdır. Autoexec.exp' veya benzeri bir dosya adı hatırlıyorum – sehe

    +0

    Evet, [bu bağlantı] (https://svn.boost.org/trac/boost/wiki/DebuggerVisualizers) bu bölümde nasıl yapılacağını gösterir ** Native C++ Debugger MSVS 2005/2008/2010 için Görüntüleyiciler ¶ **. –

    İlgili konular