【问题标题】:How do debug header file implemetation (its .cpp) in c++ using GDB如何使用 GDB 在 C++ 中调试头文件实现(其 .cpp)
【发布时间】:2023-03-30 02:47:01
【问题描述】:

我的程序中有这 3 个文件:

  1. sample1.h(此处定义了sample1.cpp中的方法)
  2. sample1.cpp(所有实际实现)
  3. demo.cpp(我这里使用的是sampe1.cpp中的方法,已经包含了sample1.h)

现在,我正在使用 GDB 进行调试,并且我知道诸如“break lineno”之类的基本命令。或“中断方法名”。但是,如何调试 sample1.cpp 中编写的方法?

我试过了:break "sample1.cpp:mymethod" 但没用。

【问题讨论】:

  • 您的术语含糊不清。实现和定义是一回事;您通常在头文件中拥有的是 declaration (除非实现是内联的 - 在这种情况下它是内联定义)。一个例子将有助于消除问题中的歧义。

标签: c++ debugging gdb


【解决方案1】:

试试

break mymethod

由于函数名没有歧义,所以应该可以。

看。 http://www.unknownroad.com/rtfm/gdbtut/gdbbreak.html#BCPPFUNC

【讨论】:

    【解决方案2】:

    如果 mymethod 是 myclass 的成员:

    break myclass::mymethod
    

    应该不需要指定文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-12
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多