ตรวจสอบPyCharm ฉันเป็นลูกค้าที่จ่ายเงินมานานหลายปีแล้วอย่างไรก็ตามยังมีรุ่นชุมชนให้ใช้ฟรี
มีปลั๊กอินตัวเฝ้าดูไฟล์ที่จะคัดลอกไฟล์ไปยังเครื่องระยะไกล (RPi ของคุณ) และก็จะมีความสามารถในการดำเนินการแก้จุดบกพร่องระยะไกล
วางสายการดีบักโมดูล
ด้วยความเคารพในการตั้งค่า PyCharm pycharm-debug.egg
ระยะไกลแก้จุดบกพร่องสิ่งแรกที่ต้องทำคือลวดขึ้น ฉันบน Mac /Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg
และในกรณีของฉันไฟล์ที่ ฉันคัดลอกไปยัง RPi ของฉันด้วยคำสั่ง:
scp /Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg pi@mediapi:
ไฟล์นี้จะต้องอยู่ที่ไหนสักแห่งในเส้นทางของ Python เพื่อให้สามารถพบได้ ฉันค้นหาสถานที่ที่เหมาะสมโดยดำเนินการดังต่อไปนี้:
pi@mediapi ~ $ python -c 'import sys; print sys.path'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/pymodules/python2.7']
จากรายการนั้นฉันเชื่อว่า/usr/local/lib/python2.7/dist-packages/
เหมาะสมที่สุด (เพราะอยู่ใน/usr/local
) ดังนั้น:
sudo mv pycharm-debug.egg /usr/local/lib/python2.7/dist-packages/
และเราต้องการ.pth
ไฟล์เพื่ออัดเข้าไปในพา ธ :
pi@mediapi ~ $ echo /usr/local/lib/python2.7/dist-packages/pycharm-debug.egg | sudo tee -a /usr/local/lib/python2.7/dist-packages/pycharm-debug.pth
ขั้นสุดท้ายตรวจสอบการตั้งค่า:
pi@mediapi ~ $ python -c 'import pydevd; print pydevd'
<module 'pydevd' from '/usr/local/lib/python2.7/dist-packages/pycharm-debug.egg/pydevd.py'>
Cool โมดูลการดีบักถูกต่อสายเข้าเพื่อเปิดการดีบักสคริปต์ ฉันจะแก้จุดบกพร่องสคริปต์ฟังที่ฉันเขียนสำหรับโพสต์นี้
ตั้งค่า PyCharm
ใน PyCharm ไปที่ Run -> Edit Configurations...
กดเครื่องหมายด้านบนซ้ายและเลือก+
Python Remote Debug
เพียงแค่ให้ชื่อremote debug
และคุณก็ทำเสร็จแล้ว กดตกลง
ตอนนี้คลิกที่Run -> Debug 'remote debug'
และคุณจะเห็นข้อความในคอนโซลการดีบักUse the following code to connect to the debugger
คัดลอกบรรทัดในกรณีของฉันพวกเขาลงเอยแบบนี้:
import pydevd
pydevd.settrace('localhost', port=56112, stdoutToServer=True, stderrToServer=True)
วางพวกเขาที่ด้านบนของไฟล์ที่คุณกำลังดีบั๊กและบันทึกไฟล์
โดยไม่ต้องใช้ปลั๊กอินซิงค์ไฟล์ฉันคัดลอกไฟล์โดยใช้ rsync:
[berto@g6]$ rsync -av ./ pi@mediapi:broadcast/
localhost
ตอนนี้แจ้งให้ทราบล่วงหน้ากำหนดค่ากล่าวว่า วิธีที่ดีที่สุดในการเดินสายไปยังเครื่องดีบั๊กคือการใช้ความสามารถในการส่งต่อพอร์ตของ SSH เพื่อให้ RPi สามารถอยู่บนโต๊ะทำงานของคุณหรือทั่วโลกและทำงานในลักษณะเดียวกัน SSH ลงใน RPi โดยใช้คำสั่งนี้เพื่อเชื่อมโยงพอร์ตระยะไกลกับพอร์ตท้องถิ่น:
[berto@g6]$ ssh -R 56112:localhost:56112 pi@mediapi
PyCharm ควรแสดงข้อความ Waiting for process connection...
บน RPi ให้เรียกใช้โปรแกรมแล้วคุณจะเห็นตัวดีบักเริ่มทำงานโดยค่าเริ่มต้นจะหยุดที่บรรทัดหลังจาก pydevd line ซึ่งคุณสามารถเปลี่ยนได้ใน config หากคุณต้องการ
และ ณ จุดนั้นคุณจะดีบั๊กจากระยะไกล! :)