附加到进程
PyCharm 提供一种方式,可在运行由操作系统启动或通过 PyCharm 终端启动的 Python 脚本时,将调试器附加到 Python 本地进程,但不是在调试模式下。 请注意,无法以此方式附加到远程进程——如需调试在 Docker、WSL 或远程主机上运行的 Python 进程,请改用 附加到 DAP。 “附加到进程”无论在设置中选择哪种调试器模式,都会使用 pydevd 后端。 如需附加到 debugpy 支持的 DAP 服务器,请使用 附加到 DAP。
Ubuntu 的先决条件
在 Ubuntu 及某些其他 Linux 发行版上,首次尝试附加到进程时,您可能会收到 ptrace: Operation not permitted 错误消息。 请执行下列任一操作:
要临时禁用此限制,请输入以下命令:
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,或重启系统。
更多详细信息,请参见 此处。
附加到本地进程
按 Ctrl+Alt+F5 或在主菜单中选择 。
PyCharm 将显示正在运行的本地进程列表。 选择要附加的进程。

当进程过多时,您可以通过键入进程名称或 PID 的首字母来缩小列表范围。
您可能只想在 附加到进程 列表中显示特定的进程。 请在 调试器 设置页面的 为“附加到进程”显示名称包含指定内容的进程。 字段中添加所需模式。 例如,如只想附加匹配该字符串的进程,可输入“Scientific”。
以与在 PyCharm 中通常相同的方式继续进行 调试 (设置断点、 单步执行、 暂停并恢复进程、 计算表达式等)。
请注意,如果您附加到的进程未提供调试信息,将无法使用断点,并且步进操作将在 反汇编 视图中执行。
从进程分离
从远程进程分离的步骤与停止本地调试会话相同。 但是,与本地会话不同,调试器分离后,目标进程会继续运行。
在 调试 工具窗口的工具栏上或在 调试工具窗口 中,点击 停止
按钮。
或者,在主工具栏上点击 停止
,或按 Ctrl+F2 ,然后选择要关闭的会话。