Commit ed84b58a authored by obscuren's avatar obscuren

Debug option for VM & command line flag

parent 548e1041
......@@ -108,7 +108,8 @@ runtime will execute the file and exit.
utils.RPCEnabledFlag,
utils.RPCListenAddrFlag,
utils.RPCPortFlag,
utils.VMTypeFlag,
utils.VMDebugFlag,
//utils.VMTypeFlag,
}
// missing:
......
......@@ -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),
......
......@@ -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
}
......
......@@ -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 (
......
......@@ -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) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment