• 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
                    }
                ]
            }
        ]
    }
  • 相关阅读:
    SelectorQuery wx.createSelectorQuery()
    JavaScript获取服务器端时间的方法
    linux ftp 文件修改时间 ModifiedDate 与本地相差 8小时
    申请域名SSL证书-域名验证配置指南
    Python之pygame,从入门到精通(一)
    Anaconda介绍、安装及使用教程
    Git安装及控制台美化
    Redis Desktop Manager的下载及安装
    redis 访问 database
    Redis消息队列
  • 原文地址:https://www.cnblogs.com/ranjiewen/p/10215090.html
Copyright © 2020-2023  润新知