Skip to content

JavaScript debug statements #18851

Description

@BridgeAR

I personally would some times like to have some debug calls for internal APIs e.g. the internal errors. It would make the API easier to use by just verifying the input but only when run by our test suite. We are all human and make mistakes. So it should behave similar to a DCHECK in C++ but just in JS. Because I would not want to have those checks run in production.

Do we want to introduce something like that? (Or do we actually already have that and I just missed that?)

I guess there are two ways of implementing something like that:

a) A macro
b) A simple if (env.NODE_DEBUG_INTERNAL === 'true') {}

What do others @nodejs/collaborators think?

Activity

  1. added
    metaIssues and PRs related to the general management of the project.
    on Feb 18, 2018
  2. devsnek commented on Feb 18, 2018

    @devsnek
    Member

    we can pretty easily adapt the DTRACE_* macro system, i'd be willing to make a pr

  3. AndreasMadsen commented on Feb 18, 2018

    @AndreasMadsen
    Member

    There was some work that went into a //CHECK(statement); comment that could be enabled.

  4. BridgeAR commented on Feb 18, 2018

    @BridgeAR
    MemberAuthor

    Nice, do you know where I can find some further info about it?

  5. targos commented on Feb 18, 2018

    @targos
    Member

    I think our JS files are preprocessed by a python script before ending up in the binary. It might be somewhere inside it?

  6. hashseed commented on Feb 18, 2018

    @hashseed
    Member

    I think our JS files are preprocessed by a python script before ending up in the binary. It might be somewhere inside it?

    The version of js2c.py in V8 indeed supports macro expansion (as defined either inline or in macros.py). It should be easy to select a macro file depending on build mode.

  7. Fishrock123 commented on Feb 18, 2018

    @Fishrock123
    Contributor

    I had discussed making debug macro comments with @trevnorris for async-hooks but the idea never got anywhere. I think this would be a good idea for core development/debugging.

  8. changed the title [-]Javascript debug statements[/-] [+]JavaScript debug statements[/+] on Feb 19, 2018
  9. richardlau commented on Mar 22, 2018

    @richardlau
    Member

    As #18852 landed can this be closed? There's follow up in #19503.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    metaIssues and PRs related to the general management of the project.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions