opendaylight实验远程调试

来源:互联网 发布:g1x mark ii 知乎 编辑:程序博客网 时间:2024/04/28 22:52

进行odl开发时需要理解其中的细节,以及代码的执行步骤。需要用到调试。

odl的代码比较复杂,在Ubuntu命令行下切换也比较麻烦,这里介绍在Windows下开发并进行远程调试的方法。

现用eclipse这样的IDE,但是想要编译也是需要安装很多插件。

这里提供一个以及安装好的eclipse    下载地址:http://pan.baidu.com/s/1qX44FKC

可以直接进行模块的编译打包工作。即开发自己的bundle包。

刚开始导入可能会有报错,主要原因就是maven库更新不完全,找不到指定的包来帮助编译。

Windows是在C盘用户目录下,找到 .m2文件夹,这里面是maven的本地仓库,在Linux下也是有对应的目录。可以互相拷贝使用。

当进行maven编译时就会优先调用这里面的包,如果还找不到,就从配置文件中的地址去下载包来协助编译。



现在开始远程调试,保证你控制器中的bundle包和你在eclipse中的源码一致。

首先在控制器中启动debug模式:    

 ./run.sh -debug

我这里控制器所在机器的IP是10.15.123.104

这时控制器就会监听8000端口,eclipse创建的远程调试链接就会通过这个端口连上来。

然后选中你的项目

Run-> Debug Configration



点击 Remote Java Application,就会生成你要调试项目的远程链接配置



我这里调试的是一个获取拓扑的bundle,填上控制器的IP和端口号,端口号一般默认为8000;

然后apply,debug。就启动了一个调试进程。

再点击debug窗口。



并且在Windows下可以,点击show view,可以选择要查看的窗口,这里我打开的是右上角的变量和断点窗口,供调试查看。


启动后就等触发信号来运行你的bundle,我这里是获取拓扑模块,只要拓扑改变就会进入我的代码。

我启动一个数据面(mininet),

sudo mn --controller=remote,ip=10.15.123.104 --topo tree,3

启动完后就会进入我的代码



绿色为代码执行位置,右上角会看到变量的值变化。

接下来就跟eclipse的本地单步调试一样了,F5,F6,F7等等。


0 0