试图调试TensorFlow c++代码时,GDB退出/崩溃

GDB Exits/Crashes while Trying to Debug TensorFlow C++ Code

本文关键字:GDB 退出 崩溃 代码 调试 TensorFlow c++      更新时间:2023-10-16

每当我尝试用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使调试变得容易。

这是我的方式的调试。也许你可以试试