Есть проблема удаленной отладки проекта на плюсах. Расклад таков:
Проблема: при настройке удаленной отладки вылезает ошибка, что mcvcmon не запушен на таргет машине. Но, успешно деплоит сам exe, также выводит, что не может задеплоить ZERO_CHECK проект столько раз, равное количеству проектов в решении минус успешно задеплоеный exe. На таргет машине видно, что был коннект и все, пусто. В хелпе ошибки вывод на страницу проблем msdn, где я нашел как делать разрешение для программ на коннект по портам в брандмауере, использование одной и той же учетки. Пробовал и без авторизации.
Но, если создать простой проект, то он успешно отлаживается...
Еще не пробывал варинат с простом cmake проекте, но есть подозрение, что cmake что-то добавляет лишнее и это вот и ломает отладку.
Кто-нибудь сталкивался?
PS: Ошибка деплоя такая:
1>Error: Unable to deploy local file 'path_to_zero_check\ZERO_CHECK' (remote file path 'C:\Debug\ZERO_CHECK')
PS2: Есть еще такой нюасн. Такая же ошибка будет и для простого проекта, если не сделать одинаковые настройки удаленной отладки для всех конфигураций проекта.
PS3 Минимальный проект:
CMakeLists.txt:
# CMakeList.txt : CMake project for CMakeProject1, include source and define
# project specific logic here.
#
cmake_minimum_required (VERSION 3.8)
# Add source to this project's executable.
add_executable (CMakeProject1 "CMakeProject1.cpp" "CMakeProject1.h")
# TODO: Add tests and install targets if needed.
CMakeProject1.cpp и CMakeProject1.h автогенерируемые студией пример "Hello world".
Далее, в директории генерируем решение студии cmake .
Настраиваем удаленную отладку и деплой для проекта CMakeProject1:
Запускаем от админа Remote Debug на сервере и пуска с админом:
Далее я деплою проект:
1>------ Deploy started: Project: CMakeProject1, Configuration: Debug Win32
------
1>Error: Unable to deploy local file '\CMakeProject1\Debug\ZERO_CHECK' (remote file path 'C:\Tem\remote-debug\ZERO_CHECK')
1>Error: Unable to deploy local file '\CMakeProject1\Debug\ZERO_CHECK' (remote file path 'C:\Tem\remote-debug\ZERO_CHECK')
========== Build: 0 succeeded, 0 failed, 2 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========
exe задеплоился:
Коннект был:
Запускаем:
Немного из моего опыта
1) Ремот тулз должны быть того же выпуска (2015/2017) что и студия
https://docs.microsoft.com/en-us/visualstudio/debugger/remote-debugging?view=vs-2017
2) Сеть на обеих машинах должна быть "Частная"
3) "Дополнительные параметры общего доступа" должно быть включено сетевое обнаружение и общий доступ к файлам и принтерам
4) Авторизацию на ремот дебагере лучше отключить если не используется полнофункциональная доменная сеть
5) Как ни странно иногда у меня ничего не работает и помогает на обеих компах открыть в проводнике сеть и подождать пока винда просканирует сеть, после чего два компа начинают видеть друг друга
6) Брэндмауэр лучше отключить или вручную добавить туда студию + тул
Проблема полностью определена: проект ZERO_CHECK мешает удаленной отладке.
Если отключить его построение, то уходит проблема неудачного deploy, но остается проблема с Windows Firewall. Скорее всего это баг MSVC (Надо бы им написать). Убирается установкой set(CMAKE_SUPPRESS_REGENERATION ON)
в корневом CMakeLists.txt для отмены регенерации проектов (Какой-то способ просто его отключить на время, кроме его полного удаления не нашел). Отладка удалась)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Мне нужно написать программу, которая будет сохранять файлы следующим образом
Если мы вызываем функцию си из луа, результат затем попадает в некую статическую функцию на которую мы ссылаемся (создает локальный стек)
При перегрузке оператора + выдает такую ошибку, как её можно пофиксить?