aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-03-06 23:58:52 +0800
committerobscuren <geffobscura@gmail.com>2015-03-06 23:58:52 +0800
commited84b58af57809a743e5be6f6ea53c079c50b765 (patch)
treeaf093595e7ae7c4dffd31e50e7dfcb91e2b9fe05
parent548e1041718ffc0ee0659f1ff99b37cad38190c0 (diff)
downloaddexon-ed84b58af57809a743e5be6f6ea53c079c50b765.tar.gz
dexon-ed84b58af57809a743e5be6f6ea53c079c50b765.tar.zst
dexon-ed84b58af57809a743e5be6f6ea53c079c50b765.zip
Debug option for VM & command line flag
-rw-r--r--cmd/ethereum/main.go3
-rw-r--r--cmd/utils/flags.go13
-rw-r--r--eth/backend.go4
-rw-r--r--vm/common.go3
-rw-r--r--vm/vm.go4
5 files changed, 21 insertions, 6 deletions
diff --git a/cmd/ethereum/main.go b/cmd/ethereum/main.go
index 1133bd6f7..d9fbabdb7 100644
--- a/cmd/ethereum/main.go
+++ b/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:
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index fb80ac708..d363ef280 100644
--- a/cmd/utils/flags.go
+++ b/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),
diff --git a/eth/backend.go b/eth/backend.go
index 1c711a775..799937510 100644
--- a/eth/backend.go
+++ b/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
}
diff --git a/vm/common.go b/vm/common.go
index 919153335..b391bb8c2 100644
--- a/vm/common.go
+++ b/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 (
diff --git a/vm/vm.go b/vm/vm.go
index 837be8c4d..890a7dd2c 100644
--- a/vm/vm.go
+++ b/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) {