用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

 

歡迎加入公衆號瞭解更多:

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