Использование Eclipse/PyDev для отладки программ, использующих OS.fork()Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Использование Eclipse/PyDev для отладки программ, использующих OS.fork()

Сообщение Anonymous »

Я пытаюсь понять, как отладить программу Python, использующую OS.fork(), с помощью Eclipse/PyDev. Основная проблема заключается в том, что если я устанавливаю точку останова в коде после fork(), неясно, учитывается ли эта точка останова как в родительском, так и в дочернем процессе, возникающем в результате fork(). Когда Eclipse используется для программ C/C++, использующих GDB, существуют параметры, которые сообщают отладчику, что делать в случае разветвления процесса (см.: разветвление в eclipse cdt). Однако я не смог найти эквивалентного объяснения PyDev.
Когда я смотрю на команду, которую PyDev выполняет для тестовой программы TestPyDev.py, которая
< р>

Код: Выделить всё

/Users/dnessett/.pyenv/versions/3.10.15/bin/python -u /Users/dnessett/.p2/pool/plugins/org.python.pydev.core_12.2.0.202409031913/pysrc/pydevd.py --multiprocess --protocol-http --print-in-debugger-startup --vm_type python --client 127.0.0.1 --port 0 --file /Users/dnessett/eclipse-workspace2/TestPyDev/TestPyDev.py
включена опция --multiprocess. Однако модуль multiprocess имеет свой собственный способ управления разветвленными процессами. Он использует метод OS.fork() для разветвления дочернего процесса, но он заключен в многопроцессный метод. Мне нужно что-то, что позволяет прямые вызовы метода OS.fork(). (На тот случай, если кто-то предложит использовать многопроцессные методы, а не методы ОС, я не пишу приложение с нуля. Я отлаживаю существующее приложение, и переписывать его код не вариант).
Я бы хотел, чтобы отладчик создал запись отладчика как для родительского, так и для дочернего процесса. Это возможно в GDB, установив опцию «detach-on-fork-mode». Кажется, в PyDev такой опции нет. Таким образом, либо функциональность, предусмотренная для этой опции в gdb, автоматически существует в PyDev, либо в отладчике PyDev нет возможности отлаживать как родительские, так и дочерние процессы.
Если бы кто-нибудь мог указать мне на соответствующую документацию PyDev (если она существует), в которой обсуждается эта ситуация, я был бы благодарен.

Подробнее здесь: https://stackoverflow.com/questions/791 ... se-os-fork
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»