Debug option for VM & command line flag

pull/437/head
obscuren 10 years ago
parent 548e104171
commit ed84b58af5
  1. 3
      cmd/ethereum/main.go
  2. 13
      cmd/utils/flags.go
  3. 4
      eth/backend.go
  4. 3
      vm/common.go
  5. 4
      vm/vm.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:

@ -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) {

Loading…
Cancel
Save