Heap Log Analyzer

If you are asking a question, please follow this template:

  1. My goal is: To analyze my ESP32 core dump using a heap log analyzer
  2. My actions are: Following the example on https://mongoose-os.com/docs/mongoose-os/userguide/debug.md. I have run

go build ./heaplog_server --logtostderr --document_root … --binary=/Users/THISISME/Downloads/PPPOS_GNSS/build/objs/PPPOS_GNSS.elf --console.log /tmp/console.log

  1. The result I see is: This is the error I get:

can’t load package: package ./heaplog_server: cannot find package “./heaplog_server” in:
/Users/THISISME/Documents/Dev/mongoose-os/tools/heaplog_viewer/heaplog_server/heaplog_server
can’t load package: package --logtostderr: cannot find package “–logtostderr” in any of:
/usr/local/Cellar/go/1.11.2/libexec/src/–logtostderr (from $GOROOT)
/Users/THISISME/go/src/–logtostderr (from $GOPATH)
can’t load package: package --document_root: cannot find package “–document_root” in any of:
/usr/local/Cellar/go/1.11.2/libexec/src/–document_root (from $GOROOT)
/Users/THISISME/go/src/–document_root (from $GOPATH)
can’t load package: package …: no Go files in /Users/THISISME/Documents/Dev/mongoose-os/tools/heaplog_viewer
can’t load package: package --binary=/Users/THISISME/Downloads/PPPOS_GNSS/build/objs/PPPOS_GNSS.elf: cannot find package “–binary=/Users/THISISME/Downloads/PPPOS_GNSS/build/objs/PPPOS_GNSS.elf” in any of:
/usr/local/Cellar/go/1.11.2/libexec/src/–binary=/Users/THISISME/Downloads/PPPOS_GNSS/build/objs/PPPOS_GNSS.elf (from $GOROOT)
/Users/THISISME/go/src/–binary=/Users/THISISME/Downloads/PPPOS_GNSS/build/objs/PPPOS_GNSS.elf (from $GOPATH)
can’t load package: package --console.log: cannot find package “–console.log” in any of:
/usr/local/Cellar/go/1.11.2/libexec/src/–console.log (from $GOROOT)
/Users/THISISME/go/src/–console.log (from $GOPATH)
can’t load package: package /tmp/console.log: import “/tmp/console.log”: cannot import absolute path
Howies-MacBook-Pro-4:heaplog_server THISISME$ go build ./heaplog_server --logtostderr --document_root … --binary=/Users/THISISME/Documents/Dev/mongoose-os/platforms/esp32 --console.log /tmp/console.log
can’t load package: package ./heaplog_server: cannot find package “./heaplog_server” in:
/Users/THISISME/Documents/Dev/mongoose-os/tools/heaplog_viewer/heaplog_server/heaplog_server
can’t load package: package --logtostderr: cannot find package “–logtostderr” in any of:
/usr/local/Cellar/go/1.11.2/libexec/src/–logtostderr (from $GOROOT)
/Users/THISISME/go/src/–logtostderr (from $GOPATH)
can’t load package: package --document_root: cannot find package “–document_root” in any of:
/usr/local/Cellar/go/1.11.2/libexec/src/–document_root (from $GOROOT)
/Users/THISISME/go/src/–document_root (from $GOPATH)
can’t load package: package …: no Go files in /Users/THISISME/Documents/Dev/mongoose-os/tools/heaplog_viewer
can’t load package: package --binary=/Users/THISISME/Documents/Dev/mongoose-os/platforms/esp32: cannot find package “–binary=/Users/THISISME/Documents/Dev/mongoose-os/platforms/esp32” in any of:
/usr/local/Cellar/go/1.11.2/libexec/src/–binary=/Users/THISISME/Documents/Dev/mongoose-os/platforms/esp32 (from $GOROOT)
/Users/THISISME/go/src/–binary=/Users/THISISME/Documents/Dev/mongoose-os/platforms/esp32 (from $GOPATH)
can’t load package: package --console.log: cannot find package “–console.log” in any of:
/usr/local/Cellar/go/1.11.2/libexec/src/–console.log (from $GOROOT)
/Users/THISISME/go/src/–console.log (from $GOPATH)
can’t load package: package /tmp/console.log: import “/tmp/console.log”: cannot import absolute path

  1. My expectation & question is: I want to run the heap log server. I am using a Mac. Is there anything that I am missing out here? Is there another way to analyze core dumps?

go build and ./heaplog_server --logtostderr ... are 2 different lines.
AFAIK, the heap log analyzer is available only for ESP8266.

If you build locally (need docker) and have mos console running in the root directory of your firmware, mos will capture the core dump and analyze it.