0

我看到传递给函数的变量的值在从函数返回后变为空。变量被推入堆栈,并在返回时弹出。我们有办法找到罪魁祸首吗?我可以保护那个堆栈位置吗?我确实检查了组件并且没有看到任何可能改变堆栈的 rbp 偏移量?

push   %rbp
mov    %rsp,%rbp
push   %rbx

.....................



add    $0x8,%rsp
pop    %rbx
leaveq
4

2 回答 2

1

只需正常调试程序即可。你试图让事情变得比他们需要的更难。

于 2012-08-27T05:09:23.910 回答
1

我认为操作系统应该保护您的进程免受任何其他进程弄乱它的内存。您确定您的程序中没有内存损坏吗?你有多个线程吗?与另一个流氓进程相比,这些更可能是罪魁祸首。

于 2012-08-26T20:02:42.313 回答