Я пытаюсь удаленно отладить (используя gdbserver) приложение, работающее на iMX6. Моя установка — Ubuntu 16.04 LTS, и я использую QT Creator 3.5.1 (на основе 5.5.1 GCC 5.2.1).
Первое, что нужно отметить, это то, что удаленный отладчик QT GDB (одношаговый) прикладного уровня iMX6 работает, если я удаляю системные вызовы. "система(...)" или "чтение(...)". и т.д. Однако любая попытка выполнить системный вызов приводит к зависанию процесса. Системный вызов никогда не возвращается.
Второе, что следует отметить, это то, что приложение отлично работает при прямом запуске из iMX6 (включая системные вызовы). Я даже могу использовать GDB (командную строку) для отладки приложения. Здесь нет проблем.
В QT Creator я добавил дополнительные команды GDB «set remote system-call-allowed 1» к дополнительным командам отладчика, которые QT Creator запускает перед запуском приложения. Безуспешно, все еще висит. Все системные вызовы зависают и никогда не возвращаются.
Кто-нибудь знает, что здесь происходит? Почему мои системные вызовы не возвращаются.