aboutsummaryrefslogtreecommitdiffstats
path: root/common/debug.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-04-15 22:39:44 +0800
committerobscuren <geffobscura@gmail.com>2015-04-15 22:39:44 +0800
commit52c874a6098d52cc369a982dfd2c88f244a0e3f2 (patch)
tree5678d68ba242c12ba5e5f8de96545a39d654a64c /common/debug.go
parenteaf73b55bc02bba59bb471feaa465f8c5cf24d83 (diff)
downloaddexon-52c874a6098d52cc369a982dfd2c88f244a0e3f2.tar
dexon-52c874a6098d52cc369a982dfd2c88f244a0e3f2.tar.gz
dexon-52c874a6098d52cc369a982dfd2c88f244a0e3f2.tar.bz2
dexon-52c874a6098d52cc369a982dfd2c88f244a0e3f2.tar.lz
dexon-52c874a6098d52cc369a982dfd2c88f244a0e3f2.tar.xz
dexon-52c874a6098d52cc369a982dfd2c88f244a0e3f2.tar.zst
dexon-52c874a6098d52cc369a982dfd2c88f244a0e3f2.zip
common: Added debug reporter
NOTE: For known, non-consensus, hard to reproduce bugs consider the following method `common.Report("extra", stuff, "you need logged")` will give you a stack trace and a friendly request to submit it as an issue on our issue tracker.
Diffstat (limited to 'common/debug.go')
-rw-r--r--common/debug.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/common/debug.go b/common/debug.go
new file mode 100644
index 000000000..69675cc6c
--- /dev/null
+++ b/common/debug.go
@@ -0,0 +1,20 @@
+package common
+
+import (
+ "fmt"
+ "os"
+ "runtime"
+ "runtime/debug"
+)
+
+func Report(extra ...interface{}) {
+ fmt.Fprintln(os.Stderr, "You've encountered a sought after, hard to reproduce bug. Please report this to the developers <3 https://github.com/ethereum/go-ethereum/issues")
+ fmt.Fprintln(os.Stderr, extra...)
+
+ _, file, line, _ := runtime.Caller(1)
+ fmt.Fprintf(os.Stderr, "%v:%v\n", file, line)
+
+ debug.PrintStack()
+
+ fmt.Fprintln(os.Stderr, "#### BUG! PLEASE REPORT ####")
+}