[SDN | Pycharm]_利用Pycharm來Debug SDN Ryu Controller
從接觸SDN,一直以來Debug大多都是看code trace或用print印印封包內容,了不起用pdb+IDLE做陽春版的debug
但其實都是很沒有效率的(看向Visual Studio那噁心的Debugger)
最近論文所需,開始要寫比較大的Controller模組,於是找了一下並沒有明顯的文章提及如何針對ryu controller debug,
但仔細觀察,發現解答細節其實藏在mailing list中…
有經驗的可以直接看下面的解法:
https://www.mail-archive.com/ryu-devel%40lists.sourceforge.net/msg08519.html
其實就是透過一個python程式去帶起ryu manager與其要執行的模組,就像打指令一樣
例如使用pycharm建立一個project,並隨便建立一個python程式,內容如下,而其中your.application.module改成你自己的ryu-app python file:
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from ryu.cmd import manager def main(): sys.argv.append('your.application.module') sys.argv.append('--verbose') sys.argv.append('--enable-debugger') manager.main() if __name__ == '__main__': main()
然後下好中斷點後執行(執行時下也可以啦…)
只要你帶起ryu-manager的程式有給對要debug的ryu app module name,就可以直接透過pycharm做ryu app module的debug了!
中斷點,逐步執行完全可以用,直接由pycharm控制ryu controller的執行
這樣子一來對ryu controller debug就更方便容易啦~
以上~
您好,我试了与喜爱。
我的Pycharm提示
“error: unrecognized arguments: -enable-debugger”
请问您知道是怎么回事嘛?