我遇到了一個錯誤,而調試我的程序,甚至閱讀彙編代碼 爲什麼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代碼沒有意義,它很奇怪。 –