Запуск приложения cmake с правами администратора из Visual Studio 2019 на удаленном компьютере с Linux - PullRequest
0 голосов
/ 07 июня 2019

Запуск IDE-машины Windows 10 с Visual Studio 2019. Target-System для отладки - это Ubuntu 18.04. Использование CMake доступно в аддонах Visual Stdio. Тестовое программное обеспечение - это soem lib с программой simple_test, которая уже приводит к проблеме (https://github.com/OpenEtherCATsociety/SOEM). После передачи eth-интерфейса во встроенную программу, он останавливается, потому что не может получить root. Уже пытался передать sudo в файле launch.vs.json, а также передать sudo программу. Попытался изменить доступ к разрешению безопасности для eth-устройства.

"configurations": [
  {
    "type": "cppdbg",
    "name": "simple_test (test\\linux\\simple_test\\simple_test)",
    "project": "CMakeLists.txt",
    "projectTarget": "simple_test (test\\linux\\simple_test\\simple_test)",

    ... // standard setup

    "args": [
      "enp3s0"               //the eth dev I want to use
    ],

... // standard setup
  ]
  }

Результат работы программы без рута:

>SOEM (Simple Open EtherCAT Master)
>Simple test
>Starting simple test
>No socket connection on enp3s0
>Excecute as root

ожидая что-то вроде:

>>sudo ~/SOEM/test/linux/simple_test/simple_test enp3s0
>SOEM (Simple Open EtherCAT Master)
>Simple test
>Starting simple test
>ec_init on enp3s0 succeeded.
>2 slaves found and configured.
>Slaves mapped, state to SAFE_OP.
>segments : 1 : 2 0 0 0
>Request operational state for all slaves
>Calculated workcounter 3
>Operational state reached for all slaves.
>^Cocessdata cycle  320, WKC 3 , O: 00 I: 00 T:0

Предложения по этому поводу были бы полезны.

Спасибо

1 Ответ

0 голосов
/ 11 июня 2019

Хорошо, решил мою проблему.Вы должны передать sudo отладчику, добавив sudo к "debuggerPath": "/usr/bin/gdb" следующим образом:

"debuggerPath": "sudo /usr/bin/gdb"

Решено для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...