代码之家  ›  专栏  ›  技术社区  ›  Chris H

自动跳过/忽略gdb中的外部代码[重复]

  •  4
  • Chris H  · 技术社区  · 14 年前

    可能重复:
    How to avoid entering library's source files while debugging in Qt Creator with gdb?

    有人知道如何告诉gdb只输入项目中的代码吗?我知道调试器很难知道“在项目中”是什么,什么是库……但我认为一些简单的检查可能会有所帮助,例如不要查找用户主目录以外的任何文件。我经常有这样的代码:

    MyFunction(complexVarable, complexvar); //passed by value
    

    gdb坚持要遍历两个传递值的复制构造函数,但我只关心myfunction。有什么建议吗?问题分为两部分,

    1. 忽略不属于我的代码(不在home dir中)
    2. 跳过函数调用的副本。

    谢谢。

    编辑:顺便说一句,我使用emacs,也许我遗漏了一些工具,但我愿意使用外部gdb前端。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Vijay    14 年前

    根据我的意见,这是不可能的。 每个项目都有从一个函数到另一个函数的数据流。 GDB设计用于处理数据流。 因此,如果您的项目处于流程中间,那么gdb就不能帮助您,因为evry函数与它得到的输入和输出有一定的关系。 您所能做的就是单独创建相同的函数,并通过提供所需的输入和所提供的输出来复制场景,就像它在teh流中运行一样。