Многопоточное приложение зависает и не отвечает на любые команды. Я попытался следующие вещи без везения:Как отлаживать многопоточный процесс в Linux?
- Приложить процесс БГД (ошибка: (GDB) присоединять 6026 Прикрепление обрабатывать 6026 ptrace:. Операция не допускается)
- gstack (gstack просто висит так)
Есть ли хороший способ отладить этот процесс?
Вы пытаетесь подключиться как от имени пользователя root, так и от пользователя, который создал этот процесс, или как какой-либо другой пользователь? Вы пытались запустить программу из gdb, прежде чем она дойдет до точки, где она висит? –
@Jonatha Leffler Я запустил этот процесс в корне, и я использовал тот же идентификатор для присоединения процесса в gdb. Это не процесс переднего плана, это процесс демона. – Thangaraj
OK; если он работает от имени root, и вы пытаетесь запустить gdb как root, то это не простой вопрос о привилегиях (но он может быть сложным). В целом, то, что я сделал бы, это запустить демона в gdb, используя такие опции, как 'set follow-fork-mode' и' set fork-detach-mode'. –