5.2.2.1 栈生长方向与对齐 5.2.2.1 栈生长方向与对齐:当 突然不等于 —— 一次因栈对齐失效引发的 SIGSEGV 深度复盘 你有没有在调试一个看似“逻辑正确”的函数时,遭遇过这样的诡异现场: 函数入口处 后, 值是 ; 执行完 分配局部变量空间后, 变成 ; 你信心满满地用 写入一个 ,却在下一条 时——段错误,core dumped。 gdb 显示 fault address 是 ,而 中 正好停在 。 你反复检查汇编:没越界,没空指针,没未初始化寄存器…… 直到你把 换成 ,问题消失了;换成 ,又崩了。 这不是玄学。