【问题标题】:How to run a linux script before launching gdb debugging in Eclipse如何在 Eclipse 中启动 gdb 调试之前运行 linux 脚本
【发布时间】:2013-11-14 11:50:37
【问题描述】:

在 Eclipse 中启动 gdb 调试之前,如何给出要运行的命令?

实际上,我想在 eclipse 启动 gdb 进程之前执行一些设置环境变量(导出变量)的脚本并执行一堆其他程序来调试我的程序。

我尝试在调试器选项卡选项中执行以下操作:

<command> && <path-to-gdb-executable> 

但我得到了 eclipse 无法执行 gdb 的错误,如上述语句中给出的。 请帮助-我实际上想在gdb启动调试之前执行一个名为“before-launch-commands.sh”的脚本。我正在尝试在eclipse kepler下执行一个cpp程序。

谢谢。

【问题讨论】:

    标签: c++ linux eclipse debugging gdb


    【解决方案1】:

    Eclipse Debug Configurations 已经可以为您设置环境变量。我假设这还不够,或者你已经完成了。

    首先要做的是创建一个新脚本,wrapped-gdb.sh

    #!/bin/sh
    
    # Export any variables we need.
    # Note that '.' (dot) is like an "include" statement.
    . /path/to/before-launch-commands.sh
    
    # Run GDB using the parameters passed in
    exec /path/to/gdb "$@"
    

    接下来,设置该脚本可执行文件:

    chmod +x /path/to/wrapped-gdb.sh
    

    最后,进入调试配置对话框中的Debugger选项卡,在标有“GDB Debugger”的框中输入/path/to/wrapped-gdb.sh

    当您启动调试会话时,它现在应该做正确的事。

    【讨论】:

    • 嗨,我试过你所说的,但现在在调试启动时出现以下错误 - “发送 /path/to/wrapped-gdb.sh --version 后无法确定 GDB 版本”并启动是终止。那么现在如何将 --version 等参数委托给在 Wrapped-gdb.sh 中调用的 gdb?
    • stackoverflow.com/questions/1932964/… 我研究了这个,理想情况下我猜它应该可以工作......
    • 如果你做对了,那么wrapped-gdb.sh --version 应该可以工作。当你手动运行它时它会说什么?
    • 实际上在 Eclipse 中选择的调试器配置文件是 GDB DSF,现在我通过创建一个新的进程调试启动器对其进行了更改,它适用于第一部分,现在它正在为找不到 .gdbinit 尖叫。我正在寻找它的位置并将其复制到我用户的家中。我认为在此之后它应该工作。知道 .gdbinit 在哪里 - 它不在 gdb 可执行文件所在的文件夹中。
    • .gdbinit 是您可以自己创建的文件。它可以包含任何你喜欢的 gdb 命令。
    猜你喜欢
    • 1970-01-01
    • 2022-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多