Есть ли простой способ сделать `boost :: ptr_vector` более удобным для отладчика в Visual Studio?

Я рассматриваю возможность использования boost :: ptr_container в результате ответов от ] этот вопрос . Моя самая большая проблема с библиотекой заключается в том, что я не могу просмотреть содержимое коллекции в отладчике, потому что отладчик MSVC не распознает его, и поэтому я не могу видеть содержимое контейнеров. (Все данные сохраняются как void * внутри)

Я слышал, что в MSVC есть функция, называемая «визуализаторы отладчика», которая позволяет пользователю сделать отладчик более умным в отношении подобных вещей, но Я никогда не писал ничего подобного, и я не очень хорошо знаком с такими вещами.

Например, сравните поведение boost :: shared_ptr с собственным std :: tr1 MSVC :: shared_ptr . В отладчике (то есть в окне Watch) повышенная версия отображается как большой беспорядок внутренних переменных, используемых для реализации общего указателя, но версия MSVC отображается как простой указатель на объект (а внутренности shared_ptr скрыты).

Как я могу начать использовать или реализовать такую ​​вещь?

12
задан Community 23 May 2017 в 12:17
поделиться