Gdb запускает создание зависшего потока

#macos #gdb

#macos #gdb

Вопрос:

Я пытаюсь использовать gdb версии 9.2 для отладки файла C в Mac OS 10.15. Файл, который я отлаживаю, — это просто оператор cout в методе main.

В gdb, когда я пытаюсь «запустить» файл, я получаю что-то вроде: [Новый поток 0x2741 процесса 24251] вместо фактического вывода или пошагового, поскольку программа продолжает просто зависать там.

Казалось бы, несвязанная ошибка, которая может быть причиной этого, заключается в том, что при загрузке файла несколько раз появляется ошибка «неизвестная команда 0x34», но gdb все еще может запускаться.

Я видел несколько других сообщений об этой ошибке, но никаких реальных ответов.

Я настроил сертификат кода для gdb.

Кроме того, я не могу избежать этой проблемы, не используя gdb.

Ответ №1:

запуск gdb с sudo помощью работает для меня

Ответ №2:

Итак, вот решение, которое я нашел:

выполнить brew uninstall --force gdb

Это позволяет избежать проблем с тем, что вы пробовали раньше.

Затем следуйте инструкциям из следующей ссылки, игнорируя часть о получении правильного источника, brew теперь выбирает рабочую версию на данный момент. Я не уверен в gcc, я тоже не делал этот раздел.

https://timnash.co.uk/getting-gdb-to-semi-reliably-work-on-mojave-macos/

Он должен работать на macOS 10.15.

В принципе, ваш вывод будет появляться иногда, а поток будет ждать в другое время.