Errors loading debugger module
I'm a fish-outta-water with this stuff, so apologies up-front.
I'm trying to setup an environment to do some Node debugging, à la this talk.
So far I've got OmniOSCE r151032 running inside VirtualBox, and I've installed pkg:/ooce/runtime/node-8. I downloaded the prebuilt binary (https://us-east.manta.joyent.com/Joyent_Dev/public/mdb_v8/v1.4.1/mdb_v8_amd64.so) from the README. I started my application, took a core dump with gcore, and loaded it into mdb:
mdb `which node` ./dump-1.822
Then I tried loading mdb_v8 with
> ::load ./mdb_v8_amd64.so
... and I'm greeted with
mdb_v8 version: 1.4.1 (release, from 0cd139c)
V8 version: 6.2.414.78
mdb: too many V8 types
mdb: failed to autoconfigure V8 support
mdb: failed to autoconfigure from target; commands may have incorrect results!
C++ symbol demangling enabled
>
Commands like ::jsstack don't return any js: frame types. I'm not sure where to go next or what to do to fix this. I thought maybe failed to autoconfigure was because I hadn't installed build-essential on my system first, so I tried that, but no change.
I also tried cloning the repo and building mdb_v8, as mentioned in the README:
You can build mdb_v8 by cloning this repository and running
make. It will only build and run on illumos-based systems. See the usage guide for details on system support.
But running make in the cloned directory gave me
make: Fatal error: No arguments to build
Am I doing something wrong?
This sounds like the sort of thing that would happen if you're using a Node version newer than is currently supported. Based on the message, you've got V8 version 6.2.414.78, which corresponds to Node 8.16.2 or 8.17.0. According to the docs, mdb_v8 supports up through Node 5, though based on CHANGES.md I believe support was added through at least v6.6.0. I'm not sure it's been updated past that. Sorry!
@davepacheco Thanks for confirming what I was suspecting. Are there plans to update mdb_v8 for newer versions, or is this project dead? If the latter, what are the alternatives?