参考:
http://blog.csdn.net/xiaoyezi_1834/article/details/50724875
https://www.zhihu.com/question/27987666
自己苦于需要修改caffe代码和调试代码,找寻方法找了很久
-> 总结如下:qt creator/anjuta/gdb
如下都是博主亲身试验成功的例子,将成功的方法转载和借鉴于此,可以实现单步调试caffe代码
方法一:在Qt中调试caffe代码
ATTENTION:
次编译程序的时候出现了“no executable specified”的错误而无法运行程序。解决办法:
在用QT creator打开project之前,删除CMakeLists.txt.user文件重新编译/RELOAD,然后运行程序,可以成功。
方法二:
QT creator->open project->import project->import existing project导入现有工程后也可以在qt中调试
类似anjuta的调试方式
----------------------Anjuta调试 ---------------------------------------
1、编译debug模式的Caffe
首先要先将Caffe编译成debug模式,即需要将Makefile.config中"DEBUG := 1"前面的注释去掉再进行重新编译,这样就能得到Caffe版本就能够调试。
(注意如果使用qtcreator 需要设置debug参数为-DCMAKE_BUILD_TYPE=Debug 将工程重新在一处重新编译,而使用anjuta相当于gdb调试的改良版本)
2、安装IDE
要调试的话也需要一个IDE,经过这两天的摸索找到了一个比较满意的IDE:Anjuta。Anjuta在Ubuntu下的安装方法为:
sudo apt-get install anjuta
3、导入caffe
安装完后打开Anjuta,然后导入Caffe项目工程,具体步骤为:
(1)import an existing project
(2) import from folder
(3)下拉选择caffe根目录,并点击打开,import。
(4)可用插件,选择默认就好。
4、设置断点
然后打开需要调试的代码文件,使用设置断点按钮(菜单栏最后面一个红绿黄的按钮)进行断点设置。
5、配置程序参数
点击“运行 -> 程序参数”,以调试训练mnist为例:
(1)在Program一栏中,选择右边的打开按钮,然后选择文件夹caffe/build/tools/下的caffe可执行文件。
(2)对于Arguments一栏,
填入参数:train --solver=examples/mnist/lenet_solver.prototxt,然后点击“应用”
点击“运行 -> 程序参数”,以调试训练mnist为例:
(1)在Program一栏中,选择右边的打开按钮,然后选择文件夹caffe/build/tools/下的caffe可执行文件。
(2)对于Arguments一栏,填入
然后点击“应用”
6、开始调试
点击“运行 -> 调试程序”
使用调试快捷键:F5(单步跨入函数)、F6(单步跨过函数)、Shift+F5(单步跨出函数)进行调试。当然,也可以设置调试器命令的。
试Caffe代码的截图(左下方可以查看变量的值等,右下方是程序的运行结果)