У меня есть сценарий, когда поток иногда зависает для приложения c ++ в системе yocto / poky linux на основе arm. Он останавливается где-то в системном вызове clock_nanosleep.
Я могу генерировать основные файлы, используя gcore, и прикреплять их с помощью gdb, но он показывает мне только часть пользовательского режима стека вызовов, которая заканчивается программным прерыванием.
Есть ли способ узнать, где на самом деле находится поток внутри ядра, возможно из coredump?
Редактировать: это код вызова метода. Переменная t находится в стеке.
do {
ret = clock_nanosleep(CLOCK_MONOTONIC, 0, &t, &t);
} while (ret == EINTR);
Привет