在每个函数的开头应用断点

时间:2012-06-29 08:08:41

标签: c debugging gdb

gdb中是否有任何命令可以在.C文件中的每个函数的开头应用断点。

我需要这个,因为我有一个非常大的C文件,我需要调试它包含100多个函数,我需要找到在运行时调用的所有函数。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

我不确定以这种方式使用调试器解决搜索问题是个好主意。

我会在每个函数的开头添加一个赋值,并在文件start处添加一个struct。

struct {
   int foo;
   int bar;
   ...
   int lastFunctionName;
} sFunc;

void foo()
{
  sFunc.foo=1;
  ...
}

void bar()
{
  sFunc.bar=1;
  ...
}

然后你可以运行你的程序并为你收集信息。

答案 2 :(得分:0)

manual表示存在一个选项rbreak regexp,它允许您设置正则表达式以便在与该正则表达式匹配的所有函数上中断。鉴于你在一个文件中(一个模块?),也许所有函数都以相同的方式加上前缀?