pycharm 远程调试图文,如何在PyCharm中进行远程调试

The issue I'm facing right now:

I deploy Python code on a remote host via SSH

the scripts are passed some arguments and must be ran by a specific user

the PyCharm run/debug configuration that I create connects through SSH via a different user (can't connect with the user that actually runs the scripts)

I want to remote debug this code via PyCharm...I managed to do all configuration, I just get permission errors.

Are there any ways on how I can run/debug the scripts as a specific user (like sudo su - user)?

I've read about specifying some Python Interpeter options in PyCharm's remote/debug configuration, but didn't manage to get a working solution.

解决方案

If you want an easy and more flexible way to get into the PyCharm debugger, rather than necessarily having a one-click "play" button in PyCharm, you can use the debug server functionality. I've used this in situations where running some Python code isn't as simple as running python ....

See the Remote debug with a Python Debug Server docs for more details, but here's a rough summary of how it works:

Upload & install remote debugging helper egg on your server (On OSX, these are found under /Applications/PyCharm.app/Contents/debug-eggs)

Setup remote debug server run configuration: click on the drop-down run configuration menu, select Edit configurations..., hit the + button, choose Python remote debug.

The details entered here (somewhat confusingly) tell the remote server running the Python script how to connect to your laptop's PyCharm instance.

set Local host name to your laptop's IP address

set port to any free port that you can use on your laptop (e.g. 8888)

Now follow the remaining instructions in that dialog box: copy-paste the import and pydevd.settrace(...) statements into your code, specifically where you want your code to "hit a breakpoint". This is basically the PyCharm equivalent of import pdb; pdb.set_trace(). Make sure the changed code is sync'ed to your server.

Hit the bug button (next to play; this starts the PyCharm debug server), and run your Python script just like you'd normally do, under whatever user, environment etc. When the breakpoint is hit, PyCharm should drop into debug mode.

你可能感兴趣的:(pycharm,远程调试图文)