zoukankan      html  css  js  c++  java
  • 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 ;可以直接调试;

    rjw@rjw:~/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 ;

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceFolder}/build/tools/caffe",
                "args": ["train","--solver","${workspaceFolder}/examples/mnist/lenet_solver.prototxt"],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }
  • 相关阅读:
    Announcement follows closure of QEDIT’s investment round with USD 10 million secured from investors
    Zero-Knowledge taxation on Ethereum
    盘点那些年被甲骨文前CEO埃里森炮轰过的厂商
    怎样才能用手机控制电脑呢?
    怎样才能用手机控制电脑呢?
    怎样才能用手机控制电脑呢?
    怎样才能用手机控制电脑呢?
    关于我写博客的那些事
    关于我写博客的那些事
    关于我写博客的那些事
  • 原文地址:https://www.cnblogs.com/ranjiewen/p/10215090.html
Copyright © 2011-2022 走看看