Skip to content

Known issues with Hermes debugging #1099

@RedMickey

Description

@RedMickey

The extension has experimental support for React Native Hermes debugging. At this moment we know about several issues related to Hermes debugging. Please see the list of known issues below.

The table of problems consists of two columns: first one illustrates the problem when debugging the app with Hermes enabled using prototype of the debugger in the extension, second one - when Chrome is used for debugging the app.

If you faced new issues with React Native Hermes debugging with React Native Tools, please send them to the commentaries section of this issue.

The list of issues

  1. The debugger doesn’t show Global, Closure variables. The debugger provides only Local variables (function scope). Google Chrome displays Global variables, but Locals aren't shown.
Debugging using VS Code RNT Hermes debugger prototype Debugging using Chrome Resolved
drawing drawing microsoft/vscode-chrome-debug-core#548
  1. The debugger doesn’t show value of numeric variables.
Debugging using VS Code RNT Hermes debugger prototype Debugging using Chrome Resolved
drawing drawing microsoft/vscode-chrome-debug-core#548
  1. The debugger shows additional VM_unknown calls in Call Stack

    The debugger displays all the calls as well as Google Chrome, but also adds unknown calls.
Debugging using VS Code RNT Hermes debugger prototype Debugging using Chrome Resolved
drawing drawing #1187

Logs for problems 1, 2, 3.

  1. The debugger doesn’t provide complete object data (For example, Date object, Map object - there is only an object name without internal data).
    If an object contains an array the debugger doesn't display the object's data.
    Google Chrome displays some objects correctly, but not all (e.g. Map object).
    The debugger doesn’t provide properties containing in “this” object.

See the issue Application crashes on debugging Map and Set objects.

Debugging using VS Code RNT Hermes debugger prototype Debugging using Chrome Resolved
drawing drawing
drawing drawing

Logs for problem 4 - 1 table row.
Logs for problem 4 - 2 table row.

  1. The debugger doesn’t show local variables, if there is any array definition in a handler function.

    The debugger remove local variables data only when it comes an array definition. Google Chrome displays array's data.

See the issue Runtime.callFunctionOn returns an empty value on debugging.

Debugging using VS Code RNT Hermes debugger prototype Debugging using Chrome Resolved
Before the array definition:
drawing
drawing microsoft/vscode-chrome-debug-core#548
After the array definition:
drawing
microsoft/vscode-chrome-debug-core#548

Logs for problem 5.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions