How to debug code running from terminal in pycharm
Asked Answered
P

3

26

I am running my code in Pycharm from Terminal. Is it possible to debug the code and put breakpoints inside the code during a run from terminal?

Pothouse answered 30/1, 2018 at 11:38 Comment(0)
L
16

I don't know anyway to do this through the terminal, but the way I currently do it is:

  1. Run > Edit Configurations > Add new configuration (the green + button)
  2. Choose Python
  3. Fill out Script path, Parameters, and other configuration fields.
  4. Debug the newly added configuration. (Run > Debug...)

With the right configuration the result should be the same as running the script in a terminal.

I find the above process a little tedious. A PEP 553 breakpoint() might be nicer. It requires Python 3.7 and is not implemented yet. See the related issue.

Longways answered 28/2, 2018 at 20:13 Comment(0)
A
13

Even if the program is started outside of PyCharm, we can attach PyCharm debugger to it.

Go to Run -> Attach to process.

enter image description here

This will show a list of python process that are currently running on the system. Select the appropriate process from it.

enter image description here

Now PyCharm debugger is connected to that process. We can add breakpoints and debug it.

Apiculate answered 10/8, 2021 at 2:18 Comment(3)
The terminal runs fast and gives error in my case so not sure how to attach a process in between that time. Before and after starting attach options shows no process. Do I need to put a sleep in between?Cobol
@BlueClouds Yes you can add sleep in between if your process is closing before you could attach.Apiculate
This should be an accepted answer because the currently accepted answer is about running debug mode in Pycharm which can be found in tons of manualsDunois
R
5

There is a way using python console.

To run it: Tools -> python console .. or you can find it at the bottom of the IDE.

Then press on 'Attach debugger' line in the following picture: enter image description here

Add a breakpoint in your code and then pass the file name to the cosole, like: %run my_file.py

Reverend answered 21/10, 2019 at 15:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.