簡體   English   中英

是否有一種簡單的方法可以使`boost :: ptr_vector`在Visual Studio中更加友好?

[英]Is there an easy way to make `boost::ptr_vector` more debugger friendly in Visual Studio?

我正在考慮使用boost::ptr_container作為這個問題的回答的結果。 我對庫的最大問題是我無法在調試器中查看集合的內容,因為MSVC調試器無法識別它,因此我看不到容器的內容。 (所有數據都在內部存儲為void *

我聽說MSVC有一個名為“調試器可視化器”的功能,它允許用戶讓調試器更聰明地處理這類事情,但我從來沒有寫過這樣的東西,而且我對這些東西並不十分熟悉。

例如,將boost::shared_ptr的行為與MSVC自己的std::tr1::shared_ptr 在調試器中(即在Watch窗口中),boost版本顯示為用於實現共享指針的大量內部變量,但MSVC版本顯示為指向對象的普通指針(以及shared_ptr的內部)是隱藏的)。

我怎樣才能開始使用或實現這樣的東西?

請參閱此鏈接 ,它提供了您可能需要的每個調試器可視化工具(通過autoexp.dat ):

所有可視化器都可以在svn中找到 目前,我們支持以下Boost類型:

  • boost :: array,ptr_array,ptr_deque,ptr_list,ptr_map,ptr_multimap,ptr_set,ptr_multiset,ptr_vector
  • 提高::進程間:: offset_ptr
  • 推動::可選
  • 提高:: multi_index_container的
  • 提高:: shared_ptr的
  • 提高::了posix_time ::的ptime,
  • boost :: posix_time :: time_duration(有兩種變體可供選擇)
  • 提高::正則表達式
  • 提高::變種

有關MSDN的一些可能有用的信息:

一個或兩個代碼項目樣本:

所有這些都以某種方式涉及autoexp.dat ,使其成為一個有效的搜索詞。

您可以將此擴展用於Visual Studio 2012+,請檢查此鏈接 它們基於來自boost svn的Visual Studio 2008/2010的可視化工具

擴展支持以下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 :: optional,boost :: any,boost :: variant
  • boost :: filesystem :: path,boost :: filesystem :: directory_entry,boost :: filesystem :: file_status
  • boost :: posix_time :: ptime,boost :: posix_time :: time_duration
  • 提高::正則表達式
  • 提高::進程間:: offset_ptr
  • 提高:: tribool
  • 提高:: unique_lock
  • 提高:: UUID的UUID ::

調試器可視化器僅適用於托管代碼,根據http://msdn.microsoft.com/en-us/library/zayyhzts.aspx提供了有關它們的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM