用gdb调试tensorflow c++源码

作者: yxd886 | 来源:发表于2019-03-28 23:44 被阅读0次

    最近在修改tensorflow源码,发现调试起来真的是特别麻烦。尤其是在c++端遇到一些段错误啥的,python这边抛出来的错误没有一点参考价值。

    最后还是用gdb来完成跟踪调试。首先用bazel编译tensorflow的时候,需要加上-g的编译选项,具体代码如下:

    bazel build --copt=-g -c dbg -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

    编译安装完之后,可以直接用gdb运行python程序:

    gdb -ex r --args python filename.py [args]
    

    然后就可以从gdb里面进入tensorflow了,如果需要单步调试,设置断点什么的,可以在gdb里面先ctrl+c,然后设置好断点,再直接r重新执行就可以了。如果发生段错误,也可以打印出很详细的backtrace.

    相关文章

      网友评论

        本文标题:用gdb调试tensorflow c++源码

        本文链接:https://www.haomeiwen.com/subject/mmnhbqtx.html