如果通过特定函数调用断点,如何在函数内部放置断点

时间:2016-05-04 05:51:12

标签: debugging gdb breakpoints conditional-breakpoint

有3个功能:f1,f2,f3:

void f1()
{
   f3();
}

void f2()
{
   f3();
}

void f3()
{
   ....
}

我想在f3中的某处放置一个断点,但前提是f1是从f1调用的。

1 个答案:

答案 0 :(得分:1)

其他解决方案包括设置条件断点。 f3的调用由int boolean

标识

代码:

#include <stdio.h>

int boolean =0;

void f3()
{

}

void f2()
{
    boolean = 1;
    f3();
}

void f1()
{
    boolean = 0;
    f3();
}


int main()
{

    f2();
    f1();
    f2();
    f1();   

    return 0;
}

在gdb中,只有来自f2

才能在f3中设置中断
(gdb)b f3 if boolean==1