vim和python脚本调试

45 投票
10 回答
41267 浏览
提问于 2025-04-15 17:00

有没有什么方法可以在不离开vim的情况下调试python脚本,特别是在*unix系统上?比如执行脚本、设置断点、查看变量等?

10 个回答

7

试试 pyclewn。这个工具可以让你在使用 vim 的时候,作为 pdb 的前端界面。你可以在 vim 里创建或删除断点,控制调试的流程,还能查看变量的值。所有这些操作都可以在 vim 里完成!

8

从Python 3.7开始,你可以直接使用breakpoint()这个内置函数,而不需要导入任何东西。

这个内置的breakpoint()实际上是调用sys.breakpointhook()。默认情况下,后者会导入pdb模块,然后调用pdb.set_trace()

根据Pierre-Antoine回答,代码看起来会是这样的:

def main():
  list = [1,2,3]
  breakpoint()
  list = [2,3,4]

if __name__ == '__main__':
    main()

来源: https://docs.python.org/3/whatsnew/3.7.html#pep-553-built-in-breakpoint

51

使用 pdb

import pdb
def main():
  list = [1,2,3]
  pdb.set_trace()
  list = [2,3,4]

if __name__ == '__main__':
    main()

现在用 :!python % 来运行,你会到达你设置的断点,这样就可以像在 gdb 中一样进行交互式调试。

撰写回答