我想在函数参数大于某个值时设置断点。下面的虚拟代码:
int main(void)
{
uint64_t num = 123456;
uint64_t x = 847534;
uint64_t other = (num*x) - (x/num);
.... other stuff here (multithreaded stuff)
calc(other);
}
void calc(uint64_t size)
{
...do some stuff with size
}
我尝试通过以下方式设置断点:
(gdb) b calc if size == 852479
但它不知道大小是多少,因为它是我猜测的参数。如果参数等于某个数字,我将如何中断。不能选择中断对此函数的所有调用,因为它在多线程环境中被调用了十亿次。
来自gdb
prompt:
break "file.c":100 if (size=852479)
or
break "file.c":100 if (size>852479)
这里我假设你想要第 100 行的条件断点,你的 src 文件是file.c
即如果你想中断调用的线路calc
,那么这将是第 100 行 - 进行适当修改(您还必须替换size
with other
在这种情况下)
如果你使用了一条线。这是第一个声明之一calc
那么你会坚持使用size
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)