Я использую идиому pimpl, чтобы скрыть детали реализации интерфейса, чтобы иметь некоторую меру защиты ABI. Я не очень хорошо разбираюсь в тонкостях MS … использую Linux для большей части моей карьеры разработчика.
Я не могу просмотреть внутренности pimpl из окна проверки отладчика. Мои типы расширяются только до необработанного указателя на impl (он использует умный указатель). Я пытался экспортировать символы, но это не сработало. Я предполагаю, что символы, которые я на самом деле пытаюсь просмотреть, не импортируются или что-то в этом роде.
Как мне исправить это? Может ли визуализаторы вызывать функции?
Редактировать — возможно, я перепутал людей с предметом экспорта.
Я пытаюсь это:
object.h:
struct EXPORT object {
struct EXPORT impl;
impl * pimpl;
};
object.cpp
struct EXPORT object::impl {
char member;
};
Единственный способ, который я могу решить, чтобы решить эту проблему, — поместить impls в заголовки, которые включены в отладочные версии библиотеки. Надеясь на лучшее решение.
Задача ещё не решена.
Других решений пока нет …