openstack斷點pdb調試

1、以neutron的ovn代碼爲例,說明使用方法。代碼文件是/usr/lib/python2.7/site-packages/ovsdbapp/backend/ovs_idl/idlutils.py,在需要打斷點的位置輸入import pdb;pdb.set_trace()
代碼和pdb斷點位置如下:

在這裏插入圖片描述
2、使用如下命令停止neutron-server的服務:
systemctl stop neutron-server
3、命令行啓動neutron-server
這時候不可以直接使用systemctl的方法啓動neutron-sever,不然我們無法讓代碼在斷點處停下來。

查看neutron-server的啓動命令
通過查看該配置文件可知cat /usr/lib/systemd/system/neutron-server.service
在這裏插入圖片描述
3、執行如下命令,以命令行形式重啓neutron-server(在這個之前也同樣需要自行openrc
/usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-server --log-file /var/log/neutron/server.log

4、發現會在斷點位置處停下,再輸入‘c’.會到下一個斷點位置,如果只打了一個斷點則只會再次到該斷點。
5、不過需要小心的是,一般而言,當代碼到該斷點的時候,可能neutron-server還沒有起來,或者有可能已經起來,這時候需要經驗判斷,如果沒有起來,說明該斷點處被執行不止一次,那就繼續輸入“c”。這樣就會讓代碼繼續往下執行。完成neutron-server的啓動,以及下面的調試。
6、然後重新打開一個窗口,執行port-create命令,該命令會在斷點處卡住。
在這裏插入圖片描述
其他openstack的調試方法可以查看該博客
https://gtcsq.readthedocs.io/en/latest/openstack/openstack_debug.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章