如何使用 GDB 进入函数但不进入其参数

问题描述 投票:0回答:2

您可能知道,在 GDB 中使用

step(s)
命令您可以单步执行函数。但是
s
首先检查并单步执行函数的参数。例如以下函数:

foo(bar(1));

进入

foo
,进入
bar
,然后进入
foo
。一旦参数数量越来越多,进入参数就变得很烦人。是否可以使用 GDB 直接单步执行
foo
并跳过单步执行其参数?

我知道我可以为

foo
设置断点:)我正在寻找其他解决方案。

c++ gdb
2个回答
0
投票

只需在 foo 上设置断点并继续在该函数处停止,跳过任何参数函数等。


-1
投票

处理一些复杂的调用时:

printf("%d %d\n", function(), next_function());

我用

step
“转到”该行,然后单步
si
进入。它单步执行第一个调用的函数。然后您可以
finish
退出并再次
si
进入下一个功能。

© www.soinside.com 2019 - 2024. All rights reserved.