用gdb调试caffe

1 用gdb调试的好处

gdb是调试C++代码很有用的工具。在caffe上也是如此。用gdb调试caffe对于初学者来说可以更好的了解caffe的整个内部微观机制。并且是更有效理解caffe源码的好办法。

2 准备工作

只有将caffe源码以debug模式进行编译才能够进行调试,否则编译器会进行优化忽略debug infomation,这样无法设置断点进入源码内部。

具体来说,先在网上下载linux版本的caffe源码,如果是是win版本的建议采用VS进行调试也就没有必要用gdb调试了。linux版本的找到 Makefile.config这个文件。  找到文件中的‘DEBUG := 1’这一行,这一行默认情况是采用#注释掉的。现在我们将它反注释,然后再去编译源码:

make clean;

make all -j12;

到此为止,linux下的caffe源码就编译成功了。

3 边执行边debug

//用gdb调试

gdb ../../build/tools/caffe

//设置参数

set args train -solver lenet_solver.prototxt

//设置断点

b base_conv_layer.cpp:120

//run起来

r

.......

//如果到了断点的地方停下来,那么进入

s

//单步调试

n

//打印

p

//展示代码

l

//查看堆栈

bt

//查看某个堆栈详细信息

info 1

 

欢迎加入公众号了解更多:

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