自动跳过/忽略gdb中的外部代码

时间:2010-02-05 04:57:45

标签: c++ gcc gdb

  

可能重复:
  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. 忽略不是我的代码(不在家庭目录中)
  2. 跳过函数调用的副本。
  3. 感谢。

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

1 个答案:

答案 0 :(得分:1)

根据我的观点,这是无法做到的。 每个项目都有一个从一个功能到另一个功能的数据流。 gdb旨在处理数据流。 因此,如果您的项目位于流程中间的某个位置,gdb无法帮助您,因为evry函数有一些目的与它获得的输入和输出它给出。 您所能做的就是分别创建相同的功能,并通过提供所需的输入并输出它来复制场景,就好像它在流程中运行一样。