diff options
Diffstat (limited to 'cmd/utils')
-rw-r--r-- | cmd/utils/flags.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index ad7e6da6e..4b76b8334 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -33,6 +33,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/state" + "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/eth" "github.com/ethereum/go-ethereum/ethdb" @@ -226,6 +227,10 @@ var ( Name: "jitvm", Usage: "Enable the JIT VM", } + VMEnableDebugFlag = cli.BoolFlag{ + Name: "vmdebug", + Usage: "Record information useful for VM and contract debugging", + } // Logging and debug settings EthStatsURLFlag = cli.StringFlag{ Name: "ethstats", @@ -736,6 +741,7 @@ func RegisterEthService(ctx *cli.Context, stack *node.Node, extra []byte) { GpobaseCorrectionFactor: ctx.GlobalInt(GpobaseCorrectionFactorFlag.Name), SolcPath: ctx.GlobalString(SolcPathFlag.Name), AutoDAG: ctx.GlobalBool(AutoDAGFlag.Name) || ctx.GlobalBool(MiningEnabledFlag.Name), + EnablePreimageRecording: ctx.GlobalBool(VMEnableDebugFlag.Name), } // Override any default configs in dev mode or the test net @@ -907,7 +913,7 @@ func MakeChain(ctx *cli.Context, stack *node.Node) (chain *core.BlockChain, chai if !ctx.GlobalBool(FakePoWFlag.Name) { pow = ethash.New() } - chain, err = core.NewBlockChain(chainDb, chainConfig, pow, new(event.TypeMux)) + chain, err = core.NewBlockChain(chainDb, chainConfig, pow, new(event.TypeMux), vm.Config{EnablePreimageRecording: ctx.GlobalBool(VMEnableDebugFlag.Name)}) if err != nil { Fatalf("Could not start chainmanager: %v", err) } |