Run Python Debugger (pdb) in Sublime Text 3
Solution 1
If you don't want to deal with additional packages, you can create a snippet to set the breakpoint for you.
<snippet>
<content><![CDATA[import pdb;pdb.set_trace()]]></content>
<tabTrigger>pdb</tabTrigger>
<scope>source.python</scope>
<description>Insert a breakpoint</description>
</snippet>
The above snippet will trigger whenever you type pdb
in your code.
Instructions On a Mac
- Navigate to Tools -> Developer -> New Snippet
- Replace the template with the snippet above
- Save the snippet to ~/Library/Application Support/Sublime Text 3/Packages/User
- Ensure the name ends with sublime-snippet (ex. breakpoint.sublime-snippet)
It should start working immediately after saving.
---------- UPDATE 29 NOV 2019 ----------
As mentioned by @FamousSnake in the comments below, you can modify the snippet to use the built-in breakpoint() function if you're using Python 3.7 or higher. This is especially convenient if you use linters or utilities like black to format your code. It should get them to stop complaining or splitting the code above into multiple lines. You can use the revised snippet below:
<snippet>
<content><![CDATA[breakpoint()]]></content>
<tabTrigger>pdb</tabTrigger>
<scope>source.python</scope>
<description>Insert a breakpoint</description>
</snippet>
Solution 2
python breakpoint plugin and check this link python breakpoint debugger
Use ctrl+shift+b to toggle breakpoint in a line
But its not preferable solution for debugging a software using a text editor. There are best IDE which makes your development lot easier
visual studio community edition
Pycharm
Eclipse
Komodo
ecoe
A knack for smooth modernization of legacy systems. My day-to-day tech stack usually includes: Rust Tauri Yew (WASM) Scala Scala.js (React) Apache Spark Akka Containers Docker (compose) NixOS PostgreSQL SQLite AWS Cloud Big Data EMR / Hadoop ecosystem S3 + Athena Apps Lambda Cognito Robotics ROS (C++, Python) Computer vision (OpenCV, CNN) Python PyTorch TensorRT Pandas
Updated on November 30, 2020Comments
-
ecoe over 3 years
How can you set python debugger (pdb) breakpoints in Sublime Text 3?
Both SublimeREPL or Python Breakpoints fail with default python build system:
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
Above issue appears documented, but with no obvious fix. Or has the answer been staring at me?