Я думаю, проблема в том, что вы подключились к удаленному процессу, а VS не знает, что он должен смотреть на std::string
.Вы можете запустить свой тест, построив и выполнив его из VS?Знает ли VS , что источник, который он видит, - это то, что работает в отладчике?
Похоже, что по крайней мере часть строк видна в QuickWatch как _M_p
.Результат, который вы ожидаете, не является простой строкой, может ли это иметь отношение?
Я только что попытался проверить std::string ss ("12345", 5)
в QuickWatch в VS2017 (15.7.3), и строка отображается именно так, как выбудет ожидать.Но я скомпилировал и запустил (F5
) из VS.
========= 18 июня
Вы можете очень легко создать проект makefile
в VCLinux.Добавьте новый проект в ваше решение и выберите Visual C++ - Cross Platform - Linux - Makefile Project
.Затем скопируйте ваши исходники и make-файл во вновь созданный каталог проекта и добавьте их в проект VS.В настройках проекта установите команды Remote Build
, например, cd $(RemoteProjectDir);make debug
и в Debugging
установите удаленную команду, которую вы хотите выполнить.
В зависимости от сложности вашего проекта, возможно, стоит создать оченьпростой автономный тест для проверки удаленной сборки и отладки, чтобы убедиться, что вы можете установить точку останова и правильно визуализировать строку.