отладка процесса потока с использованием gdb/dbx
Вопрос
Возможно, это искренний вопрос, но я задаю его здесь, поскольку не имел ни малейшего представления, когда мне задали этот вопрос в интервью.
как мы могли бы отладить поток, который был создан другим потоком?допустим, есть основной процесс, и он вызывает функцию pthread_create для создания процесса потока, который не может быть объединен, и это означает, что и основной процесс, и вновь созданный процесс потока будут выполнять свои собственные задачи, и если мы начнем отладку программы, как мы могли бы перейти к потоку, который был создан?.
заранее благодарю.
Решение
Вы можете присоединить gdb ко всему процессу, а затем использовать gdb операции с потоками для навигации между потоками.Это может помочь напечатать идентификатор потока при pthread_create'ing потока, который вы хотите отлаживать.