Как автоматически подключить отладчик к процессу при запуске процесса на OS X?

StackOverflow https://stackoverflow.com/questions/1384284

  •  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()работа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top