在Sublime Text 3中运行Python调试器(pdb)

时间:2015-03-15 17:50:03

标签: python sublimetext3 breakpoints sublime-text-plugin sublimerepl

如何在Sublime Text 3中设置python调试器(pdb)断点?

SublimeREPLPython Breakpoints都使用默认的python构建系统失败:

print "hello"
# code runs fine without this breakpoint
import pdb; pdb.set_trace()
print "bye"

>>>File "C:\Python27\lib\bdb.py", line 49, in trace_dispatch
>>>return self.dispatch_line(frame)
    >>>File "C:\Python27\lib\bdb.py", line 68, in dispatch_line
    >>>if self.quitting: raise BdbQuit

上面的问题显示为documented,但没有明显的修复。或者答案一直在盯着我?

3 个答案:

答案 0 :(得分:5)

python breakpoint插件并检查此链接python breakpoint debugger

使用ctrl + shift + b在一行中切换断点

但它不是使用文本编辑器调试软件的首选解决方案。 有最好的IDE可以让您的开发更轻松

  • visual studio community edition

  • Pycharm

  • 的Eclipse

  • 科莫多

答案 1 :(得分:0)

您可以尝试使用特定于Python的IDE,这使得调试和设置python项目变得非常简单。我建议你尝试免费社区版的Pycharm。

https://www.jetbrains.com/pycharm/download/

答案 2 :(得分:0)

如果您不想处理其他软件包,则可以创建一个代码段来为您设置断点。

<snippet>
    <content><![CDATA[import pdb;pdb.set_trace()]]></content>
    <tabTrigger>pdb</tabTrigger>
    <scope>source.python</scope>
    <description>Insert a breakpoint</description>
</snippet>

只要您在代码中输入pdb,就会触发以上代码段。autocomplete window when the snippet is triggered

Mac上的说明

  • 导航到工具->开发人员->新代码段
  • 使用上面的代码段替换模板
  • 将代码段保存到〜/ Library / Application Support / Sublime Text 3 / Packages / User
  • 确保名称以sublime-snippet(例如breakpoint.sublime-snippet)结尾

保存后应立即开始工作。

---------- 2019年11月29日更新----------

如@FamousSnake在下面的注释中所述,如果您使用的是Python 3.7或更高版本,则可以修改代码段以使用内置的breakpoint()函数。如果您使用短绒棉布或黑色等实用程序来格式化代码,这将特别方便。应该让他们停止抱怨或将上面的代码分成多行。您可以在下面使用修改后的代码段:

<snippet>
    <content><![CDATA[breakpoint()]]></content>
    <tabTrigger>pdb</tabTrigger>
    <scope>source.python</scope>
    <description>Insert a breakpoint</description>
</snippet>