gpt4 book ai didi

gdb - 为什么 GDB 'step' 命令会跳过结构声明?

转载 作者:行者123 更新时间:2023-12-02 08:38:18 25 4
gpt4 key购买 nike

int main(void)
{
char A[] ='hi';
struct dayInfo day;
int x = 1;
}

所以在 gdb 中我做了

gdb> breakpoint main
gdb> run

输出:

Breakpoint 1 , main()  line 1

char A[]= 'hi';

gdb> step

输出:

int x = 1;   line 3

问:刚开始学习GDB,不明白为什么'step'命令会跳到

int x = 1;   line 3.

为什么不是 struct dayInfo day;

最佳答案

当一个局部变量被声明时,没有代码被执行。编译器通过创建更大的堆栈框架来考虑声明,因此在输入函数时有效地执行了变量声明。 gdb 没有代码可以在第 1 行和第 3 行之间停止,因此它继续到下一行。

关于gdb - 为什么 GDB 'step' 命令会跳过结构声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19088086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com