试图调试TensorFlow c++代码时,GDB退出/崩溃
GDB Exits/Crashes while Trying to Debug TensorFlow C++ Code
每当我尝试用Eclipse
+ GDB
调试TensorFlow's C++
代码时,我得到GDB
崩溃,或者实际上退出:error code = -1
。
只要我不在TensorFlow's C++
代码中设置断点,程序就可以正常运行。但是当我这样做时,当调试器到达断点时,它在几秒钟后使用error code -1
崩溃。在GDB跟踪中没有任何有意义的东西可以解释这种行为。
我使用的GDB
版本是7.7.1
,在Ubuntu 14.04
下与Eclipse Neon
一起运行。
TensorFlow在调试模式下编译。我不认为Eclipse缺少用于它的调试符号,因为它不会抱怨这些符号的缺失(而且,偶尔,调试器能够在崩溃之前逐步执行代码中的几个步骤)。
一个简单的复制方法是尝试调试label_image示例:https://www.tensorflow.org/versions/r0.11/tutorials/image_recognition/index.html
编译它,然后在Eclipse中创建一个'C/c++ Application'调试配置,将其指向label_image应用程序的编译二进制文件。
我在macOS上使用GDB时遇到了同样的问题。但是,我最终成功地用lldb
调试了tf
。我还发现使用VisualStudio Code + lldb使调试变得容易。
这是我的方式的调试。也许你可以试试
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 当在带有Eigen的C++中使用GDB时,我如何才能看到更多的大矩阵
- 如何找出GDB的SIGTRAP核心转储的根本原因
- 创建LinkedList退出,返回代码为-11(SIGSEGV)
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- 如何让LLDB在成功时退出,在失败时等待
- C++控制台应用程序阻止退出
- 使用vscode调试时,GDB意外退出
- GDB 如何查找函数退出的位置
- gdb 退出:程序接收信号 SIGILL,使用 gcc / intel_mkl / gfortran -mavx 编译的
- 在GDB中:在启动程序中以代码1退出.在GDB之外运行良好
- gdb 中的线程 0x7fffc57fa700 (LWP 31671) 退出] 是什么意思?
- 在 gdb 中运行 c++ 代码时出错:[下级 1(进程 9985)正常退出]
- Gdb 在崇高的文本 3:调试器不会在断点处停止并立即退出
- 在 gdb 中退出时生成堆栈跟踪
- Qt - 意外的 GDB 退出
- gdb程序退出了使用CMake的程序的代码01
- 试图调试TensorFlow c++代码时,GDB退出/崩溃
- 为什么 gdb "u" 命令不退出循环?
- 计数器在运行时退出代码139,但gdb成功通过