Debug option for VM & command line flag
This commit is contained in:
parent
548e104171
commit
ed84b58af5
@ -108,7 +108,8 @@ runtime will execute the file and exit.
|
|||||||
utils.RPCEnabledFlag,
|
utils.RPCEnabledFlag,
|
||||||
utils.RPCListenAddrFlag,
|
utils.RPCListenAddrFlag,
|
||||||
utils.RPCPortFlag,
|
utils.RPCPortFlag,
|
||||||
utils.VMTypeFlag,
|
utils.VMDebugFlag,
|
||||||
|
//utils.VMTypeFlag,
|
||||||
}
|
}
|
||||||
|
|
||||||
// missing:
|
// missing:
|
||||||
|
@ -26,9 +26,15 @@ import (
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
// General settings
|
// General settings
|
||||||
VMTypeFlag = cli.IntFlag{
|
/*
|
||||||
Name: "vm",
|
VMTypeFlag = cli.IntFlag{
|
||||||
Usage: "Virtual Machine type: 0 is standard VM, 1 is debug VM",
|
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{
|
KeyRingFlag = cli.StringFlag{
|
||||||
Name: "keyring",
|
Name: "keyring",
|
||||||
@ -152,6 +158,7 @@ func GetEthereum(clientID, version string, ctx *cli.Context) *eth.Ethereum {
|
|||||||
LogLevel: ctx.GlobalInt(LogLevelFlag.Name),
|
LogLevel: ctx.GlobalInt(LogLevelFlag.Name),
|
||||||
LogFormat: ctx.GlobalString(LogFormatFlag.Name),
|
LogFormat: ctx.GlobalString(LogFormatFlag.Name),
|
||||||
MinerThreads: ctx.GlobalInt(MinerThreadsFlag.Name),
|
MinerThreads: ctx.GlobalInt(MinerThreadsFlag.Name),
|
||||||
|
VmDebug: ctx.GlobalBool(VMDebugFlag.Name),
|
||||||
|
|
||||||
MaxPeers: ctx.GlobalInt(MaxPeersFlag.Name),
|
MaxPeers: ctx.GlobalInt(MaxPeersFlag.Name),
|
||||||
Port: ctx.GlobalString(ListenPortFlag.Name),
|
Port: ctx.GlobalString(ListenPortFlag.Name),
|
||||||
|
@ -20,6 +20,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/p2p/discover"
|
"github.com/ethereum/go-ethereum/p2p/discover"
|
||||||
"github.com/ethereum/go-ethereum/p2p/nat"
|
"github.com/ethereum/go-ethereum/p2p/nat"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
|
"github.com/ethereum/go-ethereum/vm"
|
||||||
"github.com/ethereum/go-ethereum/whisper"
|
"github.com/ethereum/go-ethereum/whisper"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -43,6 +44,7 @@ type Config struct {
|
|||||||
LogLevel int
|
LogLevel int
|
||||||
KeyRing string
|
KeyRing string
|
||||||
LogFormat string
|
LogFormat string
|
||||||
|
VmDebug bool
|
||||||
|
|
||||||
MaxPeers int
|
MaxPeers int
|
||||||
Port string
|
Port string
|
||||||
@ -212,6 +214,8 @@ func New(config *Config) (*Ethereum, error) {
|
|||||||
eth.net.ListenAddr = ":" + config.Port
|
eth.net.ListenAddr = ":" + config.Port
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vm.Debug = config.VmDebug
|
||||||
|
|
||||||
return eth, nil
|
return eth, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,9 @@ import (
|
|||||||
|
|
||||||
var vmlogger = logger.NewLogger("VM")
|
var vmlogger = logger.NewLogger("VM")
|
||||||
|
|
||||||
|
// Global Debug flag indicating Debug VM (full logging)
|
||||||
|
var Debug bool
|
||||||
|
|
||||||
type Type byte
|
type Type byte
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
4
vm/vm.go
4
vm/vm.go
@ -30,8 +30,8 @@ type Vm struct {
|
|||||||
|
|
||||||
func New(env Environment) *Vm {
|
func New(env Environment) *Vm {
|
||||||
lt := LogTyPretty
|
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) {
|
func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.Int, callData []byte) (ret []byte, err error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user