Forráskód Böngészése

Debug option for VM & command line flag

obscuren 10 éve
szülő
commit
ed84b58af5
5 módosított fájl, 21 hozzáadás és 6 törlés
  1. 2 1
      cmd/ethereum/main.go
  2. 10 3
      cmd/utils/flags.go
  3. 4 0
      eth/backend.go
  4. 3 0
      vm/common.go
  5. 2 2
      vm/vm.go

+ 2 - 1
cmd/ethereum/main.go

@@ -108,7 +108,8 @@ runtime will execute the file and exit.
 		utils.RPCEnabledFlag,
 		utils.RPCListenAddrFlag,
 		utils.RPCPortFlag,
-		utils.VMTypeFlag,
+		utils.VMDebugFlag,
+		//utils.VMTypeFlag,
 	}
 
 	// missing:

+ 10 - 3
cmd/utils/flags.go

@@ -26,9 +26,15 @@ import (
 
 var (
 	// General settings
-	VMTypeFlag = cli.IntFlag{
-		Name:  "vm",
-		Usage: "Virtual Machine type: 0 is standard VM, 1 is debug VM",
+	/*
+		VMTypeFlag = cli.IntFlag{
+			Name:  "vm",
+			Usage: "Virtual Machine type: 0 is standard VM, 1 is debug VM",
+		}
+	*/
+	VMDebugFlag = cli.BoolFlag{
+		Name:  "vmdebug",
+		Usage: "Virtual Machine debug output",
 	}
 	KeyRingFlag = cli.StringFlag{
 		Name:  "keyring",
@@ -152,6 +158,7 @@ func GetEthereum(clientID, version string, ctx *cli.Context) *eth.Ethereum {
 		LogLevel:     ctx.GlobalInt(LogLevelFlag.Name),
 		LogFormat:    ctx.GlobalString(LogFormatFlag.Name),
 		MinerThreads: ctx.GlobalInt(MinerThreadsFlag.Name),
+		VmDebug:      ctx.GlobalBool(VMDebugFlag.Name),
 
 		MaxPeers:  ctx.GlobalInt(MaxPeersFlag.Name),
 		Port:      ctx.GlobalString(ListenPortFlag.Name),

+ 4 - 0
eth/backend.go

@@ -20,6 +20,7 @@ import (
 	"github.com/ethereum/go-ethereum/p2p/discover"
 	"github.com/ethereum/go-ethereum/p2p/nat"
 	"github.com/ethereum/go-ethereum/rpc"
+	"github.com/ethereum/go-ethereum/vm"
 	"github.com/ethereum/go-ethereum/whisper"
 )
 
@@ -43,6 +44,7 @@ type Config struct {
 	LogLevel  int
 	KeyRing   string
 	LogFormat string
+	VmDebug   bool
 
 	MaxPeers int
 	Port     string
@@ -212,6 +214,8 @@ func New(config *Config) (*Ethereum, error) {
 		eth.net.ListenAddr = ":" + config.Port
 	}
 
+	vm.Debug = config.VmDebug
+
 	return eth, nil
 }
 

+ 3 - 0
vm/common.go

@@ -9,6 +9,9 @@ import (
 
 var vmlogger = logger.NewLogger("VM")
 
+// Global Debug flag indicating Debug VM (full logging)
+var Debug bool
+
 type Type byte
 
 const (

+ 2 - 2
vm/vm.go

@@ -30,8 +30,8 @@ type Vm struct {
 
 func New(env Environment) *Vm {
 	lt := LogTyPretty
-	// lt = LogTyDiff
-	return &Vm{debug: true, env: env, logTy: lt, Recoverable: true}
+
+	return &Vm{debug: Debug, env: env, logTy: lt, Recoverable: true}
 }
 
 func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.Int, callData []byte) (ret []byte, err error) {