附加到进程
最后修改时间:2023 年 11 月 5 日运行| 附加到进程 CtrlAltF5
PyCharm 提供了一种将调试器附加到 Python 本地进程的方法,同时运行从操作系统或使用 PyCharm 终端启动的 Python 脚本,但不是在调试模式下。请注意,您无法附加到远程进程。
笔记
如果要调试可以从 PyCharm 启动的程序,最好的方法是启动本地调试会话。
Ubuntu 的先决条件
在 Ubuntu 和其他一些 Linux 发行版上,您可能会在第一次尝试附加到进程时收到ptrace: 操作不允许的错误消息。执行以下操作之一:
要暂时禁用此限制,请输入命令:
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
要永久禁用此限制,请打开/etc /sysctl.d /10-ptrace.conf文件进行编辑,并将行更改为。
kernel.yama.ptrace_scope = 1
kernel.yama.ptrace_scope = 0
要立即应用更改,请输入上述命令
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
。或者,运行
sudo service procps restart
或重新启动系统。
您可以在这里找到更多详细信息。
附加到本地进程
按或选择运行 | 从主菜单附加到进程。CtrlAltF5
PyCharm 将显示正在运行的本地进程的列表。选择要附加到的进程。
如有必要,可通过键入进程名称或 PID 的首字母来缩小进程列表的范围。
您可能只想显示“附加到进程”列表中的特定进程。将所需的模式添加到构建、执行、部署 |上的相应字段中。IDE 设置的Python 调试器页面 例如,如果您只想附加与此字符串匹配的进程,请输入“Scientific”:CtrlAlt0S
以与在 PyCharm 中通常执行的方式相同的方式继续进行调试(设置断点、单步调试、 暂停和恢复进程、计算表达式等)。
请注意,如果您附加的进程不提供调试信息,断点将不可用,并且将在反汇编视图中执行单步执行。
从进程中分离
与远程进程分离的过程与停止本地调试会话的过程相同,但是效果不同。分离时,调试会话将关闭,但进程会继续运行。
单击“调试”工具窗口中主工具栏上的“停止” 按钮。
或者,单击主工具栏上的“停止” 或按,然后选择要关闭的会话。CtrlF2
感谢您的反馈意见!