天天看點

用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

歡迎加入公衆号了解更多:

用gdb調試caffe

繼續閱讀