Python:如何在Mac上使用IDLE调试器设置断点?

2 投票
4 回答
5970 浏览
提问于 2025-04-15 12:41

我有一台电脑和一台Mac,用来上Python课。可是我发现,在Mac的IDLE调试器里,我无法设置断点(在电脑上可以正常使用)。

我试过“ctrl+点击”,还把触控板设置成双击时可以当作右键点击。但我没有鼠标,只有触控板。

我的Mac系统是10.4.10 Tiger。

Python/IDLE版本是2.6.1。

我试着在网上找解决办法,但没有成功……

4 个回答

1

这是在 IDLE 中的一个错误,特别是在 Mac OS X 上使用默认的 Aqua Tk 时,无论是 Mac OS X 自带的,还是从 ActiveState 下载的。这个问题包括了在 OS X 10.4 到 10.6 版本中,苹果提供的 Python 版本和 python.org 的安装包。问题在于,Aqua Tk 对鼠标点击的处理方式不同,即使这个问题被修复了,IDLE 也假设用户总是使用多按钮的鼠标。想了解更多细节和修复方法,可以查看 问题 10404。如果 Python 是和基于 X11 的 Tk 连接的,那么就不会有这个问题,这种情况在 MacPorts 中是默认的。

1

可以看看这个叫做 pdb 的模块。我刚刚学到一点,试着用了一下。这个模块可以让你在代码里设置调试点,从而在命令行中进行调试。这样一来,你就可以在代码运行的时候,实时查看你的变量和代码。虽然这和在IDLE调试器里设置断点不完全一样,但也许对你有帮助。
想了解更多,可以查看 这个 或者 这个

还有一个可以关注的地方……在选项 -> 配置IDLE -> 按键设置里,可能有办法把按键操作映射到设置断点的功能上。

3

如果你写下以下两行代码:

import pdb
pdb.set_trace()

Python会导入Python De Bugger,这时你就进入了一个可以互动的解释器。在这里,你可以正常运行所有的Python表达式。

最重要的命令有:

  1. s - 步进(向前执行一条命令)
  2. c - 继续(完成当前操作)

想要查看完整的命令列表,可以访问这个链接: http://infohost.nmt.edu/tcc/help/pubs/python22/pdb-commands.html

撰写回答