天天看点

caffe深入学习---学习GDB调试

目前简单的跑了一些常用的模型,但是深感对caffe了解还是不够,所以继续深入学习caffe.

首先,参考了知乎的一个回答,深度学习caffe的代码怎么读? Gein Chen,准备就按照人家的流程走一下,希望能够多学点东西。

1.程序跑起来,已经实现了

2.caffe单步调试。参考caffe使用gdb单步调试及源码阅读,这一篇写的很详细,很贴心。

要调试,准备用gdb,那么就学习一下,参考博客,linux下如何使用gdb调试,看看有没有英文原版的介绍吧。果然有,先崇尚原汁原味的吧:Debugging Under Unix: gdb Tutorial先看这个,这个什么玩意,不好。知道了,这个文件是个老文件,得修改一下:

头文件:

#include <iostream>

还要在主函数前面加上,

using namespace std

,不然程序会报错。

然后输入

make

编译文件,使其产生main的可执行程序,然后才能够被gdb调用,但是,这个英文参考却没有说,真是可恶,幸亏我机智,想了一下。好了,现在可以继续看了。这个是最基本的,很快就看完了。

然后再看这个, GDB Debugger Command Cheat Sheet,开干。

这两个都看了一下,涉及到的内容很基本,很少。。而且这两个网址的操作可能比较旧了,第一个都十几年之前写的个程序,第二个有个命令都还用不了,我估计是gdb更新了,导致有些命令跟之前不一样了。

于是,我打开了我电脑上gdb对应版本推荐的网址:http://www.gnu.org/software/gdb/documentation/ 里面东西挺多的。就暂时先了解了一下基本的,后面有空有需要再详细看看吧。

刚才看了也不能白看,起码得自己调试个自己的代码试试。

刚才查了一下,g++ 与gcc的区别联系,简单来说,他们都是编译器,gcc范围广,可以调试c, c++等语言,而g++特指调试c++语言的,用它调试c++更加强大方便,所以独立出来了。

学习一下ldd的用法:

https://blog.csdn.net/stpeace/article/details/47069215

caffe深入学习---学习GDB调试

竟然是排名第一的人,大佬大佬啊。

这篇博客挺不错其实,https://blog.csdn.net/dengbingfeng/article/details/51469051

里面记录了许多博客链接,质量怎么样看看就知道了。

继续阅读