Удаленная отладка

При разработке серверных расширений можно использовать VisualStudio удалённой отладки кода на сервере Docsvision под управлением Linux. Подключение можно выполнять с машины Windows. Для этого нужно соблюсти ряд условий:

Обратите внимание, даже когда сервисы Docsvision запускаются от имени УЗ Docsvision (не ROOT), права суперпользователя обязательны для удалённой отладки.

  1. Задайте пароль для пользователя root на сервере Docsvision (если не был задан ранее):

    $ sudo passwd root
  2. Разрешите подключение для root. Откройте файл sshd_config в текстовом редакторе (потребуются права суперпользователя/администратора):

    $ sudo nano /etc/ssh/sshd_config

    Отредактируйте строку, раскомментируйте её и задайте значение yes:

    $ PermitRootLogin yes
  3. Убедитесь, что настройки применены успешно, запустив на Windows командную строку от имени администратора, вместо имени машины можно указать IP.:

    $ ssh root@machinename.digdes.com
  4. Желательно установить на сервер отладочные сборки с pdb файлами, чтобы отлаживаться по коду.

  5. Запустите VisualStudio от имени администратора, выберите Меню  Debug  Attach to process и укажите в Connection target адрес машины:

    Указание адреса машины
    Рисунок 1. Указание адреса машины
    • При возникновении ошибки, о том, что не удалось создать папку Failed to launch debug adapter. Additional information may be available in the output window. Unable to find debugger script at '/root/.vs-debugger', необходимо пойти на машину с сервером и создать указанную папку:

      $ sudo mkdir /root/.vs-debugger
  6. Для отдельных случаев может понадобиться отладка через GDB. Например, для отладки SigSev (Segmentation fault) в неуправляемом коде. Для этого на сервере нужно установить GDB:

    $ sudo apt-get install gdb

    После этого в VisualStudio выберите в поле Attach to значение Native (GDB) code:

    Выберите значение "Native (GDB) code"
    Рисунок 2. Выберите значение "Native (GDB) code"