Как автоматически подключить отладчик к процессу при запуске процесса на OS X?
-
21-09-2019 - |
Вопрос
У меня есть процесс, который порождает вспомогательный процесс. Иногда мне нужно отлаживать неудачи запуска во втором процессе.
В окнах я бы использовал Image File Execution Options
, или же ntsd -o
. Анкет Тем не менее, я понятия не имею, как сделать это с GDB на OS X.
Решение
Используйте GDB -wait. Например, попробуйте
gdb --wait TextEdit
Из командной строки, затем запустите Textedit.
Другие советы
Я не думаю, что вы можете запустить GDB таким же образом. Вместо этого запустите свой родительский процесс из GDB или прикрепите к процессу выполнения, прежде чем он выключил помощника. Есть настройка под названием follow-fork-mode
Это контролирует, какой процесс следует отладчик. Взгляни на Руководство по GDB Для хорошего описания.
Если вы используете LaunchD для порождения процессов, то есть WaitForDebugger
Boolean Key, который идет в файл PLIST работы. Если это да, то запуск ждает (удивительно!) Для отладчика перед exec()
работа.