是否有一种简单的方法可以使`boost :: ptr_vector`在Visual Studio中更加友好调试?

Bil*_*eal 12 c++ visual-studio-2010 debuggervisualizer visual-c++ boost-ptr-container

我使用的是考虑boost::ptr_container从响应结果这个问题.我对库的最大问题是我无法在调试器中查看集合的内容,因为MSVC调试器无法识别它,因此我看不到容器的内容.(所有数据都在void *内部存储)

我听说MSVC有一个名为"调试器可视化器"的功能,它允许用户让调试器更聪明地处理这类事情,但我从来没有写过这样的东西,而且我对这些东西并不十分熟悉.

例如,比较boost::shared_ptrMSVC自己的行为std::tr1::shared_ptr.在调试器中(即在Watch窗口中),boost版本显示为用于实现共享指针的大量内部变量,但MSVC版本显示为指向对象的普通指针(并且shared_ptr内部是隐).

我怎样才能开始使用或实现这样的东西?

ice*_*ime 13

请参阅此链接,它提供了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(有两种变体可供选择)
  • 提高::正则表达式
  • 提高::变种