Solidity
追溯被絆倒的 require() 到原始碼行
將失敗的事務(require、throw 等)映射回它們發生的原始碼行的過程是什麼?
有這樣的例子嗎?
您正在尋找的東西在這裡How to map EVM trace to contract source? . 至於我出於開發目的,我
requireDebugModifier
從下面的程式碼中使用,對於生產,我更改requireDebugModifier
為requireModifier
.contract DebugEvents { event Debug(string message); modifier requireDebugModifier(bool arg, string message) { if (!arg) { Debug(message); return; } _; } modifier requireModifier(bool arg) { require(arg); _; } } contract Test is DebugEvents { function Test() public payable { } function fooDevel(uint i) requireDebugModifier(i<10, "I must be less then 10") public returns (uint) { return i; } function fooProduction(uint i) requireModifier(i<10) public returns (uint) { return i; } }