1. 程式人生 > >vscode下除錯caffe原始碼

vscode下除錯caffe原始碼

caffe目錄:

├── build -> .build_release  // make生成目錄,生成各種可執行bin檔案,直接呼叫入口;
├── cmake
├── CMakeLists.txt
├── CONTRIBUTING.md
├── CONTRIBUTORS.md
├── data
├── distribute
├── docker
├── docs
├── examples  //很多demo可以嘗試使用;
├── include
├── INSTALL.md
├── LICENSE
├── Makefile
├── Makefile.config
├── Makefile.config.example
├── matlab
├── models
├── python
├── README.md
├── scripts
├── src   // src/caffe/solver.cpp,net.cpp,layer.cpp,blob.cpp等核心函式;
└── tools //主要使用caffe.cpp,進行呼叫src下面各個子函式;另外tools/extra下提供一些輔助函式

1. 使用gdb直接除錯工程

配置參考:Caffe原始碼除錯

主要開啟:修改Makefile.config:DEBUG := 1 ;生成如下目錄:

lrwxrwxrwx  1 root root     12 1月   3 16:37 build -> .build_debug/
drwxr-xr-x 12 root root   4096 1月   3 16:37 .build_debug/
drwxr-xr-x 12 root root   4096 1月   3 16:37 .build_release/

使用GDB啟動除錯,執行gdb --args build/tools/caffe train --solver examples/mnist/lenet_solver.prototxt ;可以直接除錯;

[email protected]:~/caffe$ gdb --args build/tools/caffe train --solver examples/mnist/lenet_solver.prototxt
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free
software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from build/tools/caffe...(no debugging symbols found)...done. (gdb) (gdb) q

2. 使用Vscode進行除錯:

配置c_cpp_properties.json 和launch.json ;