Debugging with Hermes

I’m trying to debug my Hermes-enabled Expo App in the Managed Workflow. This is what I have done so far:

  • Enabled Hermes in eas.json.
  • Built a Simulator-enabled Development Build and installed that build on the Simulator.
  • Ran expo start --dev-client. The app runs in the Dev Build, on localhost:8081.
  • When I press “j” to open the debugger nothing happens.
  • So I opened up chrome://inspect in Chrome and added localhost:8081.

This is how it looks now:

Compare this to the screenshot from the docs:

When I click on any of those “inspect” links, a Chrome debugger opens, but it has no Javascript files under Sources, and nothing happens when I press “Pause” or similar. Seems like a Chrome Debugger without any sources.

What am I doing wrong? How can I enable Chrome Debugging with Hermes?

Thanks!

Maybe relevant: in one of the DevTools windows, I see one file under “Sources”, its name is AppEntry.bundle?platform=ios&dev=true&hot=false&strict=false&minify=false and it has one line of “content”:

ENOENT: no such file or directory, open '/Users/<user>/<path-to-repo>/http:/192.168.0.10:8081/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&strict=false&minify=false'

So this debugger expects the source code to be in a folder http:/192.168.0.10.8081 inside the repository.

Hi,

Am having the exact same issue as you’ve just described!

Am still trying to investigate the cause of this strange behavior, I have opened an issue on the Github Repo, please reply there so it will gain attention.

Did this occur to you always or has anything changed in your project ? what version of chrome do you have installed?

Quote:

  • Enabled Hermes in eas.json.

You most likely meant configured hermes in app.json

Yes, of course, I meant app.json.

Note that the issue is similar, but not exactly the same, since I’m dealing with iOS (should have explicitly stated that, instead of just writing “Simulator”).