Программа Forks bk

Spread the love

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

Однако есть обходное решение, которое не слишком болезненно. Процесс выполнения после вилки. Если вы не хотите Gdb на ребенка. Пока ребенок спит, он получит свой идентификатор процесса. Тогда расскажи Gdb (новый вызов Gdb Если вы также являетесь процессом отладки (см. Attach). Вы можете прикрепить его.

В некоторых системах, Gdb Обеспечивает поддержку отладочных программ, которые требуются. В настоящее время HP-UX (только 11.x и позже?) И GNU/ Linux (версия ядра 2.5.60 и выше).

По умолчанию, когда вилка программы, Gdb будет продолжаться беспрепятственно.

Если вы хотите следовать дочернему процессу, используйте команду set follow-fork-mode.

установить режим в режиме ожидания

Установите программу для вызова fork или vfork. Вызов fork или vfork создает новый процесс. Аргумент режима может быть:

Первоначальный процесс отлаживается после вилки. Детский процесс работает беспрепятственно. Это значение по умолчанию.

Новый процесс отлаживается после вилки. Родительский процесс работает беспрепятственно.

Отобразить текущий ответ отладчика на вызов fork или vfork.

В Linux используйте команду set detach-on-fork.

установить режим отсоединения на вилке

Сообщает, что вы прощаете свой ум после отстранения отряда или после отряда.

Последующий процесс будет следовать. Это значение по умолчанию.

Оба процесса будут проходить под контролем Gdb, Он был отлажен во время процесса.

Покажите, включен или выключен режим отсоединения.

Вы отключите режим «off-on-fork», затем Gdb (включая вложенные вилки). Вы можете перечислить разветвленные процессы Gdb используя команду уступа (см. раздел «Отладка нескольких подчиненных и программ»).

Чтобы отказаться от отладки одного из разветвленных процессов, можно использовать его, или вы можете его убить. См. Раздел «Отладка нескольких подчиненных и программ».

Если вы следуете за exec, Gdb выполняет новую цель в новой цели. Если у вас есть точка останова, точка останова также будет установлена.

Вы не можете позвонить.

Если вы выдаете команду run Gdb после выполнения вызова exec новый мишень перезапускается. В качестве аргумента это имя исполняемого файла. По умолчанию, после выполнения вызова exec, Gdb отбрасывает символы предыдущего исполняемого изображения. Вы можете изменить это поведение с помощью команды follow-exec-mode.

установить режим режима ожидания

Установите ответ отладчика на вызов программы exec. Процесс замены вызова exec.

режим follow-exec может быть:

Gdb Это создает новую низшую и переподготовку. Вызов можно перезапустить после перезапуска оригинала.

Gdb ведет процесс к тому же низшему. Замена предыдущего исполняемого изображения в нижнем. Перезапуск нижнего уровня после вызова exec с помощью, например, Это режим "по умолчанию".

Вы можете использовать команду catch для Gdb stop — это вызов fork, vfork или exec. См. Настройка контрольных точек.

Ссылка на основную публикацию
close-link