我遇到了一个错误,而调试我的程序,甚至阅读汇编代码 为什么mov指令没有正确执行?
下面是从GDB的图像后,我解决不了,0x4070a1之前,%RDX是0x61b130,并且这个数字应该移到-0x18(%rbp)
。但是,在这个指令之后,我发现-0x18(%rbp)
变成了0x61b7d0,这让我感到困惑。
由于这个问题,我的程序无法正常运行,谁能告诉我原因?谢谢!
的C代码:
E_enventry t = E_FunEntry(level,label,NULL,NULL); //t here is 0x61b130
S_enter(venv,S_Symbol("flush"), t);
......
void S_enter(S_table t, S_symbol sym, void *value) {
//while value here is 0x61b7d0
TAB_enter(t,sym,value);
}
您如何显示您的C代码,以便我们可以看到它有什么问题? – dbush
欢迎来到stackoverflow.com。请花些时间阅读[帮助页面](http://stackoverflow.com/help),尤其是名为[“我可以问些什么话题?”]的章节(http://stackoverflow.com/help/)讨论话题)和[“我应该避免问什么类型的问题?”](http://stackoverflow.com/help/dont-ask)。还请[参观](http://stackoverflow.com/tour)和[阅读如何提出好问题](http://stackoverflow.com/help/how-to-ask)。最后,请学习如何创建[最小,**完整**和可验证示例](http://stackoverflow.com/help/mcve)。 –
@dbush谢谢,我在问题中加入了它,但我认为C代码没有意义,它很奇怪。 –