2022-07-11 09:50:53 +03:00
|
|
|
|
При запуске под дебагом pn_dev использует доступ к сокетам, в ubuntu это требует прав sudo. Для того чтобы работало нужно выполнить следующее:
|
|
|
|
|
1. В терминале ввести команду:
|
|
|
|
|
sudo visudo
|
|
|
|
|
2. В конец файла добавить строку
|
2022-07-11 10:10:06 +03:00
|
|
|
|
username ALL=(root) NOPASSWD: /usr/bin/gdb
|
|
|
|
|
Это отключит запрос пароля при запуске gdb с правами sudo. Где username - имя пользователя.
|
2022-07-11 09:50:53 +03:00
|
|
|
|
3. Сделать файл debug_support/gdb исполняемым:
|
|
|
|
|
sudo chmod -x debug_support/gdb
|
|
|
|
|
3. В файле launch.json в качестве отладчика установить скрипт debug_support/gdb, добавив параметр:
|
2022-07-11 10:10:06 +03:00
|
|
|
|
"miDebuggerPath": "путь до папки/profinet_io_dev/debug_support/gdb".
|
2022-07-11 09:50:53 +03:00
|
|
|
|
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 - папка для хранения настроечных файлов
|
2022-07-15 09:44:07 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если версия Ubuntu 22.04, то там есть баг с gdb - он падает при переключении на другой поток в отлажеваемом ПО
|
|
|
|
|
Для исправления нужно либо установить Ubuntu 22.10, либо собрать gdb 12.1.
|
|
|
|
|
Для сборки запустить скрипт gdb_update.sh
|