21 lines
1.7 KiB
Plaintext
21 lines
1.7 KiB
Plaintext
При запуске под дебагом pn_dev использует доступ к сокетам, в ubuntu это требует прав sudo. Для того чтобы работало нужно выполнить следующее:
|
||
1. В терминале ввести команду:
|
||
sudo visudo
|
||
2. В конец файла добавить строку
|
||
username ALL=(root) NOPASSWD: /usr/bin/gdb
|
||
Это отключит запрос пароля при запуске gdb с правами sudo. Где username - имя пользователя.
|
||
3. Сделать файл debug_support/gdb исполняемым:
|
||
sudo chmod -x debug_support/gdb
|
||
3. В файле launch.json в качестве отладчика установить скрипт debug_support/gdb, добавив параметр:
|
||
"miDebuggerPath": "путь до папки/profinet_io_dev/debug_support/gdb".
|
||
4. Для запуска pn_dev нужны аргументы, их необходимо указать в launch.json:
|
||
"args": ["-ienp0s8", "-v", "-v", "-v", "-v", "-p/home/svad/Projects/profinet_io_dev/debug_support"],
|
||
-i - eth-интерфейс к которому подключен Profinet мастер
|
||
-v - уровень логов, чтобы был Debug нужно указать 4 раза
|
||
-p - папка для хранения настроечных файлов
|
||
|
||
|
||
Если версия Ubuntu 22.04, то там есть баг с gdb - он падает при переключении на другой поток в отлажеваемом ПО
|
||
Для исправления нужно либо установить Ubuntu 22.10, либо собрать gdb 12.1.
|
||
Для сборки запустить скрипт gdb_update.sh
|