ProfinetConnector/debug_support
2022-08-05 15:27:12 +03:00
..
gdb dev(UML-981): Решение некоторых проблем и документирование кода 2022-08-05 14:58:37 +03:00
gdb_update.sh dev(UML-981): Добавил скрипт обновления gdb 2022-07-15 09:44:07 +03:00
readme.txt Merge branch 'master' of http://server_gorbunov:3000/SmartForce4.0/profinet_io_dev 2022-07-29 10:20:49 +03:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

При запуске под дебагом 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