Служба отладки KDS
23 января 2025
ID 236752
Служба отладки KDS (от англ. Kaspersky Debug Service) предназначена для тестирования и отладки API компонентов KasperskyOS. KDS позволяет в интерактивном режиме вызывать методы программных интерфейсов (API) KasperskyOS, подключившись к запущенному решению из командной оболочки инструмента kosctl.
Функциональность отладки обеспечивается программой Kds, которая запускается в KasperskyOS. При использования службы отладки KDS, эта программа включается в состав решения и запускается в эмуляторе QEMU или на тестируемом устройстве. Возможность вызова методов API предоставляется из интерактивной командной оболочки KDS, запускаемой на вашем компьютере командой kosctl shell --kds.
Интерактивная командная оболочка KDS и программа Kds могут взаимодействовать по сети. При этом, программа Kds может выступать как в роли сервера, так и в роли клиента (см. раздел Параметры программы KDS):
- Если программа
Kdsвыступает в роли сервера, командная оболочка KDS должна запускаться на вашем компьютере в режиме клиента и подключаться к программеKds. - Если программа
Kdsвыступает в роли клиента, командная оболочка KDS должна запускаться на вашем компьютере в режиме сервера и ожидать подключения от программыKds.
Также имеется возможность взаимодействия через USB или UART порт – для отладки решения, запущенного на аппаратной платформе.
Обмен информацией (командами и результатами их выполнения) между сервером и клиентом осуществляется в JSON-формате. Командная оболочка KDS запускает интерактивный сеанс работы с интерпретатором Python, в котором предоставляет возможность доступа к объектам C++, вызова методов и передачи параметров. Полученные команды на языке C++ преобразуются в JSON-объекты и передаются программе Kds по сети, через USB или UART. Программа Kds, запущенная в KasperskyOS, обращается к API компонентов и возвращает результаты, которые отображаются в командной оболочке.
Таким образом, служба отладки KDS предоставляет возможность исследовать доступные API, тестировать и моделировать сценарии поведения устройства под управлением KasperskyOS, последовательно выполняя отдельные строки кода на языке C++ в командной оболочке. В командной оболочке есть возможность автодополнения кода по нажатию клавиши TAB.