Есть проблема удаленной отладки проекта на плюсах. Расклад таков:
Проблема: при настройке удаленной отладки вылезает ошибка, что 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 для отмены регенерации проектов (Какой-то способ просто его отключить на время, кроме его полного удаления не нашел). Отладка удалась)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне нужно написать программу, которая будет сохранять файлы следующим образом
Если мы вызываем функцию си из луа, результат затем попадает в некую статическую функцию на которую мы ссылаемся (создает локальный стек)
При перегрузке оператора + выдает такую ошибку, как её можно пофиксить?