c - GCC - Linux - 在返回之前将堆栈设置为零?

标签 c linux gcc assembly

上下文

Linux 64 位

问题

是否可以在返回函数之前指示堆栈清零?

我不希望堆栈中留下有效信息,即使紧接着被其他值覆盖也是如此。 我明确地想浪费一些时间这样做。

在受控环境中编译时,是否有可能以无法绕过的自动化方式?

谢谢

最佳答案

一种方法是使用“-finstrument-functions”选项。这允许您为每个常规函数调用进入和退出 Hook 进入和退出函数。您可以清除退出 Hook 中的堆栈。顾名思义,它主要用于仪器仪表。但没有什么可以阻止您将其用于其他目的。

关于c - GCC - Linux - 在返回之前将堆栈设置为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29320992/

相关文章:

c++ - 该递归函数如何工作?

c - 将数组传递给函数时,如果我在该函数中更改数组的值,原始数组的值会改变吗?

linux - 使用 htop 命令时,time+ 列中的红色值是否表示有问题?

linux - 是否可以在前台运行两个 Linux 命令并合并它们的标准输出

gcc - 如何在 Debian 上安装 armv8 cortex-a53 的 aarch64 工具链?

c - 为什么此代码返回意外结果? (条件变量)

c - 如何释放 c 中动态分配的结构数组?

python - 我如何使用 python 打开远程服务器文件夹?

c++ - 在 Windows 上使用 g++ 编译 C++ 后出现 __gxx_personality_v0 错误

c++ - 无法在 VS 代码中使用 gcc 查看 std::vector 的元素