Solidity

Remix IDE 中的 Solidity:如何調試“錯誤交易被探勘但執行失敗”

  • January 2, 2022

因此,作為我課程的一部分,我是一名在 Solidity 中研究智能合約的學生,而且我有點像區塊鏈新手。我的契約現在可以工作了,但是有一個功能給我帶來了問題。它似乎工作正常,除了 Remix 有時告訴我執行失敗(帶有上述消息)。我還沒有完全確定導致這種情況的條件,因為我不確定如何調試它。

我已經使用 IDE 調試器單步執行事務,但它似乎只是執行了整個事務並退出。例如,require(false, "Made it to the end");放在函式的末尾似乎也表明它完成了(因為確實拋出了錯誤)。在函式結束時還發生了兩次 ETH 轉移(一個轉移到呼叫函式的地址,另一個轉移到儲存在合約狀態中的另一個地址),這些轉移似乎一直在通過。

所以,總結一下這個問題:我最好用什麼方法來解決問題?對我的問題的具體解決方案並不真正感興趣,因為我的程式碼是我課程的一部分,我覺得我應該知道如何更普遍地解決這些問題。

提前致謝!

回答以防其他人遇到此問題:

解決它的事情是我應該嘗試的第一件事 - 我刷新了頁面並且沒有進一步的問題。我假設我在 Remix 中的會話有點錯誤或什麼的。我一直在定期重置 JavaScript VM 環境以獲得“乾淨的狀態”,所以我認為它一定是前端的東西。

引用自:https://ethereum.stackexchange.com/questions/117575