Remote Debugging

Community 版本的沒有這個功能, Professional 版本才有.


參考資料

支援兩種方式, 第一種方式稱為 using a remote interpreter, 第二種是 using python debug server.

方式一, 不需要在遠端機器安裝額外套件, 但需要遠端機器開放SSH連線.

方式二, 不需要遠端機器開放SSH連線, 但需要在遠端機器安裝額外套件.

方式二必須在遠端原始碼中加入額外程式碼來連線到本機的 python debug server, 以 OpenStack 專案的做法是將主程式命令做成一個具有 debug 模式的可開關選項, 當主程式啟動時啟動偵錯模式, 可以進一步指定 python debug server 的位置.


[ 方式二 ]

建立組態

python remote debug > ...

name : remote debug main
local host name : 192.168.1.2
port : 49488
path mapping : /Users/cclin/Desktop/python-by-pycharm=/tmp/python-by-pycharm

修改主程式 python-by-pycharm/main.py , 加入以下兩行 , 其中 192.168.1.2 是本地 IP , 49488 是本地 PORT

import pydevd
pydevd.settrace('192.168.1.2', port=49488, stdoutToServer=True, stderrToServer=True)

啟動本地的 debug server

ctrl + d

複製專案從本地到遠端

scp -r python-by-pycharm/ 192.168.120.220:/tmp/

複製 pycharm-debug.egg 從本地到遠端

scp /Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg 192.168.120.220:/tmp/python-by-pycharm/

啟動遠端的主程式

export PYTHONPATH=$PWD/python-by-pycharm/pycharm-debug.egg
python python-by-pycharm/main.py

在本地IDE操作偵錯步驟


參考資料

逐步教學示範如何使用 PyCharm Professional Edition 在本機建立一個 Django 專案, 讓它跑在遠端, 然後做遠端除錯.


參考資料

OpenStack 專案, 例如 keystone, 的啟動程序都有一個 --pydev-debug-host 選項, 支援 using python debug server 這種遠端除錯模式.

更多關於 PyCharm Remote Debugging OpenStack

results matching ""

    No results matching ""