【问题标题】:Debugging C++ in an Eclipse-based IDE - is there something like "step over loop/cycle"?在基于 Eclipse 的 IDE 中调试 C++ - 是否有类似“循环/循环”之类的东西?
【发布时间】:2012-06-06 10:01:47
【问题描述】:

目前我正在使用一个类 Eclipse IDE 和相应的调试透视图,你们中的大多数人可能都很熟悉。在调试代码时,我经常会发现自己要遍历多行代码并观察变量并仔细检查一切是否符合预期。

但假设有这样的事情:

1. important line, e.g. generating a new object;
2. another important line, e.g. some tricky class method;
3. for (int i = 0; i < some_limit; ++i)
4.     some_array[i]++;
5. more important stuff;

显然我对第 1,2 行和第 5 行发生的事情很感兴趣(我知道这是一个糟糕的例子,但请耐心等待我一段时间)但我不想遍历所有数百个 (甚至数千)第 3/4 行的迭代。

所以,最后,我的问题是:有没有办法直接跨过 for 循环?我现在做的是在第 5 行设置一个新的断点,让程序在我到达第 3 行时立即运行,我认为这不是最佳解决方案。

edit:ks1322提出的eclipse实现叫做“Run to line”,映射到ctrl-r

【问题讨论】:

    标签: c++ eclipse debugging gdb eclipse-cdt


    【解决方案1】:

    使用until 命令代替next

    来自gdb documentation

    继续运行,直到源代码行超过当前行,在 当前堆栈帧,已到达。该命令用于避免单 多次单步执行一个循环。

    如果您使用until 而不是next,gdb 只会跳过循环一次,这几乎正是您想要的。

    【讨论】:

    • 我只是想问这在 Eclipse 环境中对我有什么帮助,但我做了一些搜索......并且 - 实际上有一个“运行到行”命令正是这样做的。它有点难以找到(至少在我的 IDE 中),但它似乎映射到 ctrl-R。我认为问题现在解决了,非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多