Не удается увидеть содержимое переменной при отладке кода C ++, вызываемого из управляемого приложения

У меня есть несколько собственных C-библиотек, которые я вызываю из библиотеки Managed C ++ Class («Rem»). В библиотеке классов «Rem» у меня есть один собственный класс C ++ (api) и один управляемый класс C ++ (API).

Управляемый класс (API) сейчас вызывается из консольного приложения C # (будет использоваться в веб-приложении позже).

При отладке я могу просто пройти через свой родной код.

Моя проблема в том, что при отладке я не вижу значений переменных, кроме простых типов, которые объявлены локально.

Параметры функции недоступны в отладчике, и если я пытаюсь добавить их в качестве Watch, он просто говорит: «error: идентификатор« имя-схемы »вне области видимости (« имя-схемы »- это имя переменной)

Любые структуры просто показывают значение «{…}», как в быстрых часах, так и в окне просмотра.
введите описание изображения здесь

Если я пытаюсь добавить часы в поле в структуре, я получаю значение «error: ‘entryList.numItems’ не существует»

Материал, который я пробовал:

  • Я пытался создать консольное приложение в Managed C ++ и отлаживать то же самое.

  • Я пытался снять
    Tools-> Options-> Debugging-> General-> Managed C ++ Compatibility Mode, тогда я вообще не мог войти в код (символы для точек останова не загружались)

  • В проекте консольного приложения C # я вошел в Свойства-> Отладка и проверил «Включить отладку собственного кода» (и снял флажок)

  • В библиотеке классов C ++ я зашел в Свойства-> Отладка-> Тип отладчика и попробовал «Смешанный», «Собственный», «Управляемый» и «Авто».

Любые предложения относительно того, что я делаю неправильно?

7

Решение

Я предполагаю, что вы используете Visual Studio 2012 Update 2. В этом случае — это известная ошибка с обновлением 2:

https://connect.microsoft.com/VisualStudio/feedback/details/783004/children-cannot-be-evaluated-on-c-cli-after-vs2012-update-2

Тем не менее, будьте осторожны, «обходной путь» удаления обновления 2 оставит вас со сломанной Visual Studio, как видно из этого отчета об ошибке (да, обновление 2 не работает):

https://connect.microsoft.com/VisualStudio/feedback/details/785396/uninstalling-vs2012-update-2-and-repair-of-vs-results-in-atl-files-missing

Если вы не используете обновление 2, это может быть неправильный ответ, но это может помочь тем, кто испытывает именно эту проблему, используя обновление 2.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]