【问题标题】:Debug Error Occurred in EclipseEclipse中出现调试错误
【发布时间】:2016-07-01 20:54:18
【问题描述】:

我正在尝试在 Debian 中调试一个开源包,在 Eclipse 中称为 libprotoident,Kepler 版本。因为它有 Makefile,所以我选择创建一个空的 Makefile 项目,然后将所有源添加到工作区中。因此,之后源代码编译并成功运行,就像在命令行中使用 Makefile 一样。 由于它有 4 个可以使用的应用程序,我选择在运行配置窗口中运行 lpi_protoident 包,如下图所示。

所以程序运行成功。现在我正在尝试调试它,但它会产生以下错误。

如何解决此错误并调试项目?

【问题讨论】:

  • 图片有助于识别错误的背景。但是错误本身确实需要在问题中,否则无法搜索。

标签: eclipse debugging eclipse-cdt


【解决方案1】:

您尝试调试的文件很可能是由 automake 创建的 shell 脚本,它充当真实可执行文件的包装器,该可执行文件已构建在隐藏目录中。

不要告诉 Eclipse tools/protoident/lpi_protoident 是您的应用程序,而是尝试使用 tools/protoident/.libs/lpi_protoident

【讨论】:

    【解决方案2】:

    关于您遇到的错误的一般回答

    not in executable format: File format not reconized 错误意味着lpi_protoident 在您正在使用的平台上不是可执行文件。

    您确定这是一个可以运行的可执行文件(例如,从命令行)?

    您使用的 GDB 与可执行文件不兼容的可能性也很小,但可能性较小。

    从源代码构建 libprotoident

    (假设您正在尝试构建https://github.com/wanduow/libprotoident

    您正在尝试构建一个 automake 项目。正常的方法是通过配置创建Makefile,您不应该制作自己的makefile。请参考项目中的README,但需要做的关键部分是:

    安装

    安装所需的库后,运行以下一系列命令应该会安装 libprotoident

        ./bootstrap.sh (only if you've cloned the source from GitHub)
        ./configure
        make
        make install
    

    默认情况下,libprotoident 安装到 /usr/local - 这可以更改 通过将 --prefix= 选项附加到 ./configure。

    libprotoident 工具是默认构建的 - 这可以通过以下方式更改 使用 --with-tools=./configure 没有选项。

    【讨论】:

    • 是的,我愿意。该代码在 Eclipse 中的命令行和运行模式下的工作方式相同。结果都很好并且可以接受。我的项目创建有问题吗?!我为另一个开源项目这样做了,没有通过 Makefile 项目。我没有使用 Makefile,一切都很好。因为我只需要编译 lpi_protoident 工具,所以我决定在项目中使用 Makefile。那么你有什么更好的方法来在 Eclipse 中导入 libprotoident 吗?是的,我正在使用您链接的开源包。
    • 使用现有源将项目创建为 makefile 项目
    • 它没有解决问题。它仍然在调试模式下产生错误。
    • 程序是否从命令行运行?即这是 gdb 问题还是程序问题?如果有 gdb 问题,请在您的问题中添加有关 GDB 版本的详细信息以及gdb <name of program> 的输出,然后一旦 GDB 状态执行 run
    • 是的,它运行了,一切都很好! Emm .. 当我在 Eclipse 的同一台机器上的另一个项目中运行另一个程序时,我认为 gdb 运行良好。我很惊讶它运行正常,它会生成结果,也会打印结果,当我尝试调试代码时它会生成错误。
    猜你喜欢
    • 2013-09-07
    • 1970-01-01
    • 2019-05-10
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多