ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools

Overview

ndb

Build Status NPM ndb package

ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools

Installation

Compatibility: ndb requires Node >=8.0.0. It works best with Node >=10.

Installation: ndb depends on Puppeteer which downloads a recent version of Chromium (~170MB Mac, ~280MB Linux, ~280MB Win).

# global install with npm:
npm install -g ndb


# alternatively, with yarn:
yarn global add ndb

Global installation may fail with different permission errors, you can find help in this thread.

Windows users: Installation may fail on Windows during compilation the native dependencies. The following command may help: npm install -g windows-build-tools

Local install

If you want ndb available from an npm script (eg. npm run debug runs ndb index.js), you can install it as a development dependency:

# local install with npm:
npm install --save-dev ndb


# alternatively, with yarn:
yarn add ndb --dev

You can then set up an npm script. In this case, ndb will not be available in your system path.

Getting Started

You can start debugging your Node.js application using one of the following ways:

  • Use ndb instead of the node command
ndb server.js

# Alternatively, you can prepend `ndb`
ndb node server.js
  • Prepend ndb in front of any other binary
# If you use some other binary, just prepend `ndb`
## npm run unit
ndb npm run unit

# Debug any globally installed package
## mocha
ndb mocha

# To use a local binary, use `npx` and prepend before it
ndb npx mocha
  • Launch ndb as a standalone application
    • Then, debug any npm script from your package.json, e.g. unit tests
# cd to your project folder (with a package.json)
ndb .
# In Sources panel > "NPM Scripts" sidebar, click the selected "Run" button 
  • Use Ctrl/Cmd + R to restart last run

  • Run any node command from within ndb's integrated terminal and ndb will connect automatically

  • Run any open script source by using 'Run this script' context menu item, ndb will connect automatically as well

  • Use --prof flag to profile your app, Ctrl/Cmd + R restarts profiling

ndb --prof npm run unit

What can I do?

ndb has some powerful features exclusively for Node.js:

  1. Child processes are detected and attached to.
  2. You can place breakpoints before the modules are required.
  3. You can edit your files within the UI. On Ctrl-S/Cmd-S, DevTools will save the changes to disk.
  4. By default, ndb blackboxes all scripts outside current working directory to improve focus. This includes node internal libraries (like _stream_wrap.js, async_hooks.js, fs.js) This behaviour may be changed by "Blackbox anything outside working dir" setting.

In addition, you can use all the DevTools functionality that you've used in typical Node debugging:

  • breakpoint debugging, async stacks (AKA long stack traces), async stepping, etc...
  • console (top-level await, object inspection, advanced filtering)
  • eager evaluation in console (requires Node >= 10)
  • JS sampling profiler
  • memory profiler

Screenshot

image

Contributing

Check out contributing guide to get an overview of ndb development.

Thanks to the 'OG' ndb

In early 2011, @smtlaissezfaire released the first serious debugger for Node.js, under the ndb package name. It's still preserved at github.com/smtlaissezfaire/ndb. We thank Scott for generously donating the package name.

Comments
  • Failed to install ndb

    Failed to install ndb

    Steps to reproduce

    jsmith@jsmith-hp1:~/projs/$ sudo npm install -g ndb
    /usr/bin/ndb -> /usr/lib/node_modules/ndb/ndb.js
    
    > [email protected] install /usr/lib/node_modules/ndb/node_modules/deasync
    > node ./build.js
    
    `linux-x64-node-8` exists; testing
    Binary is fine; exiting
    
    > [email protected] install /usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt
    > prebuild-install || node scripts/install.js
    
    prebuild-install WARN install EACCES: permission denied, mkdir '/usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt/build'
    gyp ERR! configure error 
    gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt/build'
    gyp ERR! System Linux 3.19.0-65-generic
    gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt
    gyp ERR! node -v v8.4.0
    gyp ERR! node-gyp -v v3.6.2
    gyp ERR! not ok 
    
    

    Tell us about your environment:

    • ndb version: n/a (initial installation)
    • Platform / OS version: ubuntu 14.04 64bit.
    • Node.js version: 8.4.0

    What steps will reproduce the problem?

    Seeing the error mkdir '/usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt/build', I tried to manually created directory '/usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt/' but I got the same error when I tried to install it again.

    What is the expected result?

    What happens instead?

    opened by terapackets 17
  • Feature Request: Handle TypeScript Better

    Feature Request: Handle TypeScript Better

    Steps to reproduce

    Tell us about your environment:

    • ndb version: v1.0.6
    • Platform / OS version: Ubuntu 16.04
    • Node.js version: v8.10.0

    What steps will reproduce the problem?

    Please include code that reproduces the issue.

    I followed this guide, hoping it would work out essentially the same. It _kind of _ works. I opened ndb with ndb . in the root of my project, then ran one of my npm scripts from the ndb UI. The script was ts-node src/index.ts (I had to move my typings around a bit before this would work), and it ran just fine from inside ndb. Unfortunately, after starting the script, I could not set breakpoints in any of the files listed by ndb. However, if I stopped the script, set a breakpoint in one of the .ts files (specifically, src/inxex.ts), then restarted the script, ndb would start up and open a new file. This file matches what the article linked above led me to expect - the tab says the file is index.ts?[sm]. However, I cannot actually select this or other files from the list of files presented in the UI by ndb.

    At this point, with the already-opened index.ts?[sm] file, I can move the breakpoint around and it appears to work fine.

    What is the expected result? If sourcemaps are available, the sourcemapped files should be available instead (or at least in addition to) the normal .ts files.

    What happens instead? They are not listed in the UI.

    opened by jacob-israel-turner 15
  • Does not install properly with Yarn

    Does not install properly with Yarn

    Steps to reproduce

    Tell us about your environment:

    • ndb version: v1.0.6, attempted v1.0.5, v1.0.4, and v1.0.3 as well
    • Platform / OS version: MacOS High Sierra 10.13.3
    • Node.js version: Attempted with both v8.9.4 and v10.7.0

    What steps will reproduce the problem?

    1. Run ndb . or ndb <filename>.js
    2. ndb does indeed launch, but only shows a black window.

    What is the expected result?

    The proper debugger UI should show up.

    What happens instead?

    None of the UI renders.

    screen shot 2018-07-22 at 9 00 23 pm
    opened by jacob-israel-turner 15
  • No feedback on SyntaxError

    No feedback on SyntaxError

    Steps to reproduce

    Tell us about your environment:

    • ndb version: 1.0.18
    • Platform / OS version: ubuntu 17.04
    • Node.js version: 8.9.4

    What steps will reproduce the problem?

    // File: test.js
    test()
    function test() {
     debugger {
    }
    
    1. ndb test.js

    What is the expected result? Some feedback that there is a syntax error

    What happens instead? No feedback, nothing happens

    opened by romgrk 12
  • ndb wont start

    ndb wont start

    Steps to reproduce

    $ npm i -g ndb

    ... snip ...
    + [email protected]
    added 182 packages from 110 contributors in 22.355s
    

    $ ndb

    events.js:167
          throw er; // Unhandled 'error' event
          ^
    
    Error: read ECONNRESET
        at Pipe.onread (net.js:660:25)
    Emitted 'error' event at:
        at emitErrorNT (intenal/streams/destroy.js:82:8)
        at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
        at process._tickCallback (internal/process/next_tick.js:63:19)
    

    Tell us about your environment:

    • ndb version: 1.0.3 (tried 10.0, 1.0.1, and 1.0.2)
    • Platform / OS version: Debian 9 testing
    • Node.js version: 10.7 (tried 10.6 and 10.4.1)

    What is the expected result?

    ndb to start

    What happens instead?

    ECONNRESET error

    Thanks for this project. Looking forward to try it out!

    opened by abalmos 11
  • Break out ndb-inspect as a npm package

    Break out ndb-inspect as a npm package

    The current repo has an embedded npm package ndb-inspect. Evidently the only source for this package is here inside of this project. This awkward arrangement confuses the folks who review our use of npm modules.

    I think the system would be clearer if we went one of two directions:

    1. spin out ndb-inspect as its own project.
    2. remove the npm trappings and just load the js where needed.

    Would a Pull Request along one of these lines be considered?

    opened by johnjbarton 9
  • Node process is not attached.

    Node process is not attached.

    Node processes pane just empty with "No running nodes".

    Steps to reproduce

    Tell us about your environment:

    • ndb version: 1.0.19
    • Platform / OS version: Ubuntu 16.04
    • Node.js version:10.7.0

    What steps will reproduce the problem? Start ndb with the node js script Please include code that reproduces the issue.

    What is the expected result? To attach to the node process

    What happens instead?

    opened by yograf 9
  • Feature Request: Whitelist some packages from node_modules

    Feature Request: Whitelist some packages from node_modules

    We have custom internal packages we use in our company. Most of the time I need to put a breakpoint in these packages while debugging.

    All our packages are scoped, so if there was a way to whitelist node_modules/@scope it would be very useful.

    At the moment, I can't see anything under node_modules.

    opened by serkanyersen 9
  • ndb window stays empty

    ndb window stays empty

    👋

    Steps to reproduce

    Tell us about your environment:

    • ndb version: v1.0.43
    • Platform / OS version: MacOS 10.14.3
    • Node.js version: v8.10.0
    • Chrome Version: 72.0.3626.121 (Official Build) (64-bit)
    • Chrome Canary Version: 74.0.3723.0 (Official Build) canary (64-bit)
    • nvm version: 0.30.2

    What steps will reproduce the problem?

    1. npm install -g [email protected]
    2. ndb yarn start/test (in any project I have with these hooks)

    What is the expected result? ndb to show the dev-tools screen

    What happens instead?

    shows a blank screen: ndb-start

    inspecting the window, I see errors in the console: ndb-console-error

    ndb_app.js:3 Uncaught TypeError: document.registerElement is not a function
        at Object.UI.registerCustomElement (ndb_app.js:3)
        at ndb_app.js:3
        at ndb_app.js:3
    

    no errors in the terminal (when invoking ndb)

    I've also tried with:

    • ndb version: 1.0.42, 1.0.41
    • Node.js version: v10.15.2
    opened by gagoar 8
  • NDB broken after 1.0.26

    NDB broken after 1.0.26

    • Mac OS 10.14.1
    • Node 10.13.0
    • Yarn 1.12.3

    With 1.0.27 or higher ndb doesn't open/doesn't do anything at all.

    yarn global remove ndb && \
    yarn global add [email protected] && \
    ndb myscript.js
    # nothing happens
    

    With 1.0.26 or lower ndb opens fine and works as expected.

    yarn global remove ndb && \
    yarn global add [email protected] && \
    ndb myscript.js
    Hello!
    

    myscript.js

    console.log('Hello!')
    
    opened by heygrady 8
  • Problem after update from 1.0.42 to 1.0.43

    Problem after update from 1.0.42 to 1.0.43

    It start after update from 1.0.42 to 1.0.43 I tried to downgrade later but the error persist. Remove and install again does not work.

    Steps to reproduce

    Tell us about your environment:

    • ndb version: update from 1.0.42 to 1.0.43 I tried to downgrade later but the error persist.
    • Platform / OS version: Linux pop-os 4.18.0-16-generic #17-Ubuntu SMP Fri Feb 8 00:06:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
    • Node.js version: node 8 and node 11 What steps will reproduce the problem? ndb Please include code that reproduces the issue.

    What is the expected result?

    What happens instead? ndb not working after update to 1 0 43

    opened by felixdrp 7
  • ndb global or dev dependency package not working

    ndb global or dev dependency package not working

    Little bit about my environment: Fedora 35 x64, Node v16.14.0 ndb v1.1.5

    I tried to install it globally, it didn't work, I installed it as dev dependency - didn't work, I downgraded node version from 16 to 10, then to 12, 14 - didn't work. I saw topics in the internet that it may be caused by permissions, so I changed owner of /usr/local/lib/node_modules and etc. as it was written in that topics - it didn't work. What I got is at the picture image Also I tried to install it on Windows 7 - and there it works, but why it didn't work on Fedora 35?

    opened by alexander-chemeza 3
  • Project status?

    Project status?

    I was just wondering what's the status of this project. Are there any plans to continue the maintenance? Should we be using regular Chrome now? Thanks in advance!

    Steps to reproduce

    Tell us about your environment:

    • ndb version: v1.1.5
    • Platform / OS version: darwin/x64 (macOS Catalina v10.15.7)
    • Node.js version: v14.19.0

    What steps will reproduce the problem? none.

    What is the expected result? N/A

    What happens instead? N/A

    opened by eaviles 1
  • Instant crash with

    Instant crash with "Aw, snap!" text

    NDB window crashes with "Aw, snap!" text instantly when started. image

    • Clicking 'Learn more' or 'Reload' does nothing.
    • Pressing F12 pops up the dev tools in a new window, but closes instantly.
    • The process meant to be debugged doesn't seem to start either
    • Nothing is printed to terminal.
    • At first start it downloads Chromium r624492
    • chromium browser installed by linux package manager works
    • The window-s title is: _text/html,%0A <title></title>%0A <style>html{background:%23242424;}</style>%0A <script>self.paramsForReuse = {"data":"eyJjd2QiOiJmaWxlOi8vL21lZGlhL2RhdGEvUHJvamVjdHMvanMvbmRidGVzdCIsImFyZ3YiOlsiL3Vzci9iaW4vbm9kZSIsIi9tZWRpYS9kYXRhL1Byb2plY3RzL2pzL25kYnRlc3Qvbm9kZV9tb2R1bGVzLy5iaW4vbmRiIiwiaW5kZXguanMiXSwibm9kZUV4ZWNQYXRoIjoiL3Vzci9iaW4vbm9kZSJ9"};</script>

    Maybe the most important part:

    Core dump in journal
    febr 19 21:23:15 { pc name } systemd-coredump[155586]: [🡕] Process 155571 (chrome) of user 1000 dumped core.
      Module linux-vdso.so.1 with build-id f8a46a233d179d592efd3c866f15a853cfc5bc7c
      Module libstdc++.so.6 with build-id 88ad4eff81a00c684abfe0f863e87434123d8943
      Module libicudata.so.70 with build-id e1dcc2a88cfaafed882d09c90c668af0eed4efed
      Module libbrotlicommon.so.1 with build-id a4ba3f4b4571c8272343b621da812a6e24a202a7
      Module libgpg-error.so.0 with build-id 82524ee3d1c4c2244d7cfdcc1e6eea5f9855f6c6
      Module libxml2.so.2 with build-id b710b880b0d4e9c93554fa632129db44c20632cd
      Module libjson-glib-1.0.so.0 with build-id 5865be5fcc01b48a0a113e0145ec45529bff89a6
      Module libsqlite3.so.0 with build-id 5f711261aabe285f02a673ded77a37b413afbfa2
      Module libicui18n.so.70 with build-id 95af755fca990df26753a7d720b8e3ae24270e42
      Module libicuuc.so.70 with build-id 2e245c2bf12f95fd8ab79b3a4be99524677cbd70
      Module libstemmer.so.0 with build-id aa44a40dfb223020ed8e49cd2d28fc3887128463
      Module libbrotlidec.so.1 with build-id 45defc036e918e0140a72f1fbce6e7692d38241d
      Module libbz2.so.1.0 with build-id 919597c477c9b2cb9cdbb7745ed6494ac0e6da60
      Module libdatrie.so.1 with build-id 6fe3b6ece2c8e7d11869fa051375128d8f808f58
      Module libgraphite2.so.3 with build-id 47761dc11e553f519cde97ed9ee985be12ccdae2
      Module libblkid.so.1 with build-id 9e4bb910a2e63ba71cae0e3b89c07fdd45033ff2
      Module libgcrypt.so.20 with build-id db45f5d5e0f7af1e77324fea1885f974619ad268
      Module libcap.so.2 with build-id eb6dae97527fc89dbb0d5bb581a15acd02ae9f56
      Module liblz4.so.1 with build-id e63600ab23b2f6997f42fac2fa56e1f02ce159a1
      Module libzstd.so.1 with build-id 72f3511cba7db578f6a2647925f35664da6c838b
      Module liblzma.so.5 with build-id 8b615460aa230708c5183f16bede67aa0437d95e
      Module libgmp.so.10 with build-id e58d34ab389d1b649c24195c2d145e3ff2e58290
      Module libhogweed.so.6 with build-id 2d70cff7b1841b4d9ca4e8e7726cd4b944c07fdc
      Module libnettle.so.8 with build-id 9a878e513c02007598fcf1e2e286c2203f13536e
      Module libtasn1.so.6 with build-id ee3429ca5e94718aea4fe5249fc859e0cd88e4e9
      Module libunistring.so.2 with build-id 015ac6d6bcb60b7d8bea31a80d1941b06e8636ab
      Module libidn2.so.0 with build-id 1ce2b50ad9f9821c2c629b521cf5a3c99593d332
      Module libp11-kit.so.0 with build-id cc372ea3c28c4d3dfc633b4d2e933c8584d2af16
      Module libtiff.so.5 with build-id e8d89a0fb0847641ddb75c5f03fa89d68155a75d
      Module libjpeg.so.8 with build-id 879ca18a2f58c25d77ba881db3a44a5676ef6c7d
      Module libXinerama.so.1 with build-id dbb6adece34ea2766d3efcd628af8f9757344dd6
      Module libwayland-egl.so.1 with build-id 791e39283cdcc5a08cfd091b8cd4c59869a11278
      Module libwayland-cursor.so.0 with build-id 79d7e67af210407c2afe92ba8c189c8648a6474c
      Module libwayland-client.so.0 with build-id 0a237f2fd096bada4ca381eec5d64474c4078be4
      Module libxkbcommon.so.0 with build-id 3a9338b2085f0af41217bc0a90ffcc941938a16e
      Module libtracker-sparql-3.0.so.0 with build-id b0eee5a9b660fed5221ea15139e9608282320503
      Module libcloudproviders.so.0 with build-id ed1d9c9e60be4e858ad148484767249be1edf95f
      Module libepoxy.so.0 with build-id b6357fc6b748c512f90339433d74502b9d0621dc
      Module libcairo-gobject.so.2 with build-id abbf5a8a182ea1b8b7d68540df5c2e25c0bdae0c
      Module libpixman-1.so.0 with build-id 341f793dcada3a48a306a793d265a517e3f2e7d6
      Module libxcb-shm.so.0 with build-id fb797f299a446f559a95afcc168227482cc800d1
      Module libxcb-render.so.0 with build-id a37bdb37744b508be9dd29fd9ccb9bb0170d43e5
      Module libfreetype.so.6 with build-id 26c5f833068ff72660d1975cbc2074c3eb47fad8
      Module libpng16.so.16 with build-id 2dc0bce07f199bf983c07a05fb95a6f4af83a9b3
      Module libthai.so.0 with build-id a7ac5010b4275c49308021200d23690533952702
      Module libfribidi.so.0 with build-id 79124bad061c2aab4ec89f25d067363d5b781114
      Module libfontconfig.so.1 with build-id 9fdeb38479c4090d673efc2e8cb60176efe65da1
      Module libharfbuzz.so.0 with build-id 716df25c59c91f456ae107457e4250f7c32bde1b
      Module libpangoft2-1.0.so.0 with build-id 9b0353693557b4fb68124a9dffac9b07678d86a1
      Module libresolv.so.2 with build-id 46ffdf3d477a170314060c26927470d7399bc900
      Module libmount.so.1 with build-id 765508fe9812e693ac41fd3d0aedd65d7a78b287
      Module libgmodule-2.0.so.0 with build-id 5da4523e8d6b5c244a0193e27093d1e61f6ac9e4
      Module libsystemd.so.0 with build-id a83a62063b8098eda274d25251d619f0503bf011
      Module libz.so.1 with build-id 0c1459c56513efd5d53eb3868290e9afee6a6a26
      Module libgnutls.so.30 with build-id 50f3a52ba3db67b822fd5888790238eb548b64aa
      Module libavahi-client.so.3 with build-id 1858551543958190c653b565cf0eb64609ad908a
      Module libavahi-common.so.3 with build-id 80fda945459a3476ccd1050783dfd5f5c17c479a
      Module libplc4.so with build-id 44dcd42fb72cc8aab586dbf4000293590bb19e67
      Module libplds4.so with build-id e915f74a1aff6a20d65b5f03f5ee2e0197153a33
      Module libpcre.so.1 with build-id 845483dd0acba86de9f0313102bebbaf3ce52767
      Module libffi.so.8 with build-id f90d8b734f6de9b25faedb8cbfab7054dafc0a42
      Module libXdmcp.so.6 with build-id 8ca0792d23c8b8b4c0864297512349292bea5955
      Module libXau.so.6 with build-id 1c67764663e07bec24d8951e5fd93f4d165979ff
      Module ld-linux-x86-64.so.2 with build-id c09c6f50f6bcec73c64a0b4be77eadb8f7202410
      Module libc.so.6 with build-id 85766e9d8458b16e9c7ce6e07c712c02b8471dbc
      Module libgcc_s.so.1 with build-id 5d817452a709ca3a213341555ddcf446ecee37fa
      Module libgdk_pixbuf-2.0.so.0 with build-id ca4beb15a30de8d8767f7bca8222038c61b58b36
      Module libgdk-3.so.0 with build-id 0d1048ff040bb420bc2b7da992590559226a1beb
      Module libgtk-3.so.0 with build-id 237211b929fd493858b4269bbf63f407c24e0fb4
      Module libatspi.so.0 with build-id de251156cf6f2f447c5e2b8721bd913d79995d4f
      Module libatk-bridge-2.0.so.0 with build-id 1161ebbcc5aa791075dfa026671875e5417287bd
      Module libatk-1.0.so.0 with build-id aacaa40363d304858b654728a893bc212a4ca119
      Module libcairo.so.2 with build-id 06820af9cf79c2deb207d9533a61caf04e67a8ad
      Module libpango-1.0.so.0 with build-id f7a7e74f7ade4cbcf3840f685d760da19b0dc38c
      Module libpangocairo-1.0.so.0 with build-id a47bf17ab99c1840764fca52a2d772800d81d6e1
      Module libm.so.6 with build-id 596b63a006a4386dcab30912d2b54a7a61827b07
      Module libasound.so.2 with build-id b17fc1317a484842433c772360376623b64ec3d8
      Module libgio-2.0.so.0 with build-id c4e89ca22afc7f17db176d2063fe379dbc88d99b
      Module libXrandr.so.2 with build-id d4e869b5c72541e1de8f96b456248987ea52d51b
      Module libuuid.so.1 with build-id cc94de1b28210d2b06109bd76c198c80f518aad6
      Module libexpat.so.1 with build-id c3b8b6921f5b323540b84acd301ccc7bc5bc0428
      Module libXss.so.1 with build-id baa7abf56d3c688475068639478b07b508149f7a
      Module libdbus-1.so.3 with build-id 74f2ab9c60512f3a93c932c3f627564d42e0b11e
      Module libcups.so.2 with build-id 52ccc84fcb1bd56821c25e88ff624550698087f5
      Module libnspr4.so with build-id c5d12234f7975d11a11e67646533657d014d9540
      Module libsmime3.so with build-id 78817b6406663629f3586cf4ff6dc4c32faa6785
      Module libnssutil3.so with build-id 0d2b2fb3fdde7ea1ed8f4c95493516473435cdba
      Module libnss3.so with build-id d2548c5d414574f214f87e4fd328d7a8bfc06931
      Module libglib-2.0.so.0 with build-id 24e675eddd4654b470e0a892f4a4aec012b04160
      Module libgobject-2.0.so.0 with build-id 6d7ff6c8e4e9c12caa92cf25a74d3ecdd9461c36
      Module libXtst.so.6 with build-id 96411faea62997274e362f263e65082e601a787b
      Module libXrender.so.1 with build-id 97e0b9ab6ba96ebc86527cc2b3c3078aad8616b3
      Module libXi.so.6 with build-id 16603be937a02a7e61b0b0395d064be7efd86f49
      Module libXfixes.so.3 with build-id 0a05c7e8714522bfbdd7c0027c3e2a94965664b0
      Module libXext.so.6 with build-id d70f24beb4fad748d6becffdcc13e51be0a2ebfa
      Module libXdamage.so.1 with build-id a1d867e093c16944b2c0083be98050ef35c9e5c2
      Module libXcursor.so.1 with build-id eb6315bcd7526aaf51b0a1307efdc587cea0a152
      Module libXcomposite.so.1 with build-id f1bb5ffb6203ab2907ac044a204ce3902a79f1c1
      Module libxcb.so.1 with build-id 0d1ef11740a5daad2ee331e812a51aa6574af222
      Module libX11-xcb.so.1 with build-id 0db4f94d8ae31b8dc9a83f825a9171656f1e532c
      Module libX11.so.6 with build-id 5ba5798d193c0065014b8c6252a0678671c8d478
      Module librt.so.1 with build-id 4761858b348db8303e872e515aa8d56c046c921c
      Module libpthread.so.0 with build-id 7fa8b52fae071a370ba4ca32bf9490a30aff31c4
      Module libdl.so.2 with build-id bb9bd2657bfba9f60bd34d2050cc63a7eb024bc4
      Module chrome without build-id.
      Stack trace of thread 2:
      #0  0x00007fdf67fa43c6 start_thread (libc.so.6 + 0x8d3c6)
      #1  0x00007fdf68029584 __clone (libc.so.6 + 0x112584)
      
      Stack trace of thread 3:
      #0  0x00007fdf67fa43c6 start_thread (libc.so.6 + 0x8d3c6)
      #1  0x00007fdf68029584 __clone (libc.so.6 + 0x112584)
      
      Stack trace of thread 1:
      #0  0x00007fdf68029576 __clone (libc.so.6 + 0x112576)
      #1  0x0000000000000000 n/a (n/a + 0x0)
      ELF object binary architecture: AMD x86-64
    

    The started processes look like (after crash):

    npm run debug
    └─ node /media/data/Projects/js/ndbtest/node_modules/.bin/ndb index.js
       └─ chrome --disable-background-networking --enable-features=NetworkService,NetworkServiceInProcess --disable-background-timer-throttling --disabl { ... }
          ├─ chrome --type=zygote --user-data-dir=/media/data/Projects/js/ndbtest/node_modules/carlo/lib/.local-data/profile-624492
          │  ├─ nacl_helper
          │  └─ chrome --type=zygote --user-data-dir=/media/data/Projects/js/ndbtest/node_modules/carlo/lib/.local-data/profile-624492
          └─ chrome --type=gpu-process --field-trial-handle=11608324376951962078,10158578646079337087,131072 --enable-features=NetworkService,NetworkSer { ... }
    

    Steps to reproduce

    npm init
    npm install --save-dev ndb
    

    add "debug": "ndb index.js" to package.json

    echo "console.log('hi')" > index.js
    npm run debug
    

    The same happens when tried on a larger, more complex expres.js based project.

    Tell us about your environment:

    $ node_modules/.bin/ndb --version
    v1.1.5
    $ node --version
    v17.4.0
    $ npm --version
    8.5.0
    $ uname -a
    Linux { pc name } 5.15.24-1-lts #1 SMP Wed, 16 Feb 2022 16:04:21 +0000 x86_64 GNU/Linux
    $ chromium --version
    Chromium 98.0.4758.102 Arch Linux
    

    I tried installing google-chrome, in hope that it might install some missing packages / libraries, but nothing changed.

    What is the expected result? The NDB debugger window works, and doesn't show the 'Aw, snap!' crash text

    What happens instead? The NDB debugger window crashes with 'Aw, snap!' text

    Note 90% this is not an issue with NDB, so sorry for that, but still would like to ask the community for directions

    opened by pure-bliss 7
  • ndb mocha not work

    ndb mocha not work

    image

    Steps to reproduce

    Tell us about your environment:

    • ndb version:
    • Platform / OS version:
    • Node.js version:

    What steps will reproduce the problem?

    Please include code that reproduces the issue.

    What is the expected result?

    What happens instead?

    opened by zpfee 0
  • NDB relaod on file change not working

    NDB relaod on file change not working

    Steps to reproduce

    • ndb version:1.1.5
    • Platform / OS version:win10 ver 2004
    • Node.js version:v14.3.0

    1.ndb nodemon --exec "node server.js" 2.ndb server.js

    What is the expected result? when editing file in vscode I expect ndb to reload and show console outputs

    What happens instead? it will only run manually by hitting ctrl+r

    opened by Darkmift 1
Owner
Experimental projects from the Chrome team
null
A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers

debug A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers. Installation $ npm ins

Sloth 10.5k Dec 30, 2022
📡 Encrypt and authenticate DevTools to use it securely remotely. Add HTTPS, and authentication to --remote-debugging-port to debug, inspect and automate from anywhere and collaborate securely on bugs.

?? Encrypt and authenticate DevTools to use it securely remotely. Add HTTPS, and authentication to --remote-debugging-port to debug, inspect and automate from anywhere and collaborate securely on bugs.

Cris 9 May 5, 2022
thetool is a CLI tool to capture different cpu, memory and other profiles for your node app in Chrome DevTools friendly format

thetool thetool is a CLI tool to capture different cpu, memory and other profiles for your node app in Chrome DevTools friendly format. Quick start np

null 200 Oct 28, 2022
[OBSOLETE] runs Node.js programs through Chromium DevTools

devtool ⚠️ Update: This tool is mostly obsolete as much of the philosophy has been brought into Node/DevTool core, see here for details. If you wish t

Jam3 3.8k Dec 20, 2022
Well-formatted and improved trace system calls and signals (when the debugger does not help)

ctrace Well-formatted and improved trace system calls and signals (when the debugger does not help). Why? Awesome tools strace and dtruss have only on

Aleksandr Komlev 117 Dec 27, 2022
Locus is a debugging module for node.js

ʆ Locus Locus is a debugging module which allows you to execute commands at runtime via a REPL. Installing npm install locus --save-dev Using require(

Ali Davut 300 Nov 13, 2022
🎸 A rsocket web devtools

rsocketMan ?? A devtool for rsocket protocol ?? Easy to help you to test your rsocket servers ?? Development Environment ?? Installation ?? In rsocket

Frozen FIsh 5 Jul 27, 2022
🚀 zx - Bring your Discord's devtools back to life

discord-enable-devtools Bring your Discord's devtools back to life TL;DR Discord devtools was disabled, see more. You can enable it again by adding th

Bruno Silva 5 Mar 10, 2022
Debug Node.js code with Chrome Developer Tools.

Debug Node.js code with Chrome Developer Tools on Linux, Windows and OS X. This software aims to make things easier ?? . With ironNode you have the fu

Stephan Ahlf 2.3k Dec 30, 2022
Node is running but you don't know why? why-is-node-running is here to help you.

why-is-node-running Node is running but you don't know why? why-is-node-running is here to help you. Installation Node 8 and above: npm i why-is-node-

Mathias Buus 1.5k Dec 30, 2022
An lldb plugin for Node.js and V8, which enables inspection of JavaScript states for insights into Node.js processes and their core dumps.

Node.js v10.x+ C++ plugin for the LLDB debugger. The llnode plugin adds the ability to inspect JavaScript stack frames, objects, source code and more

Node.js 1k Dec 14, 2022
Node.js debugger based on Blink Developer Tools

Node Inspector Overview Node Inspector is a debugger interface for Node.js applications that uses the Blink Developer Tools (formerly WebKit Web Inspe

null 12.6k Dec 29, 2022
🐛 Memory leak testing for node.

Leakage - Memory Leak Testing for Node Write leakage tests using Mocha or another test runner of your choice. Does not only support spotting and fixin

Andy Wermke 1.6k Dec 28, 2022
Long stack traces for node.js inspired by https://github.com/tlrobinson/long-stack-traces

longjohn Long stack traces for node.js with configurable call trace length Inspiration I wrote this while trying to add long-stack-traces to my server

Matt Insler 815 Dec 23, 2022
API Observability. Trace API calls and Monitor API performance, health and usage statistics in Node.js Microservices.

swagger-stats | API Observability https://swaggerstats.io | Guide Trace API calls and Monitor API performance, health and usage statistics in Node.js

slana.tech 773 Jan 4, 2023
A Node.js tracing and instrumentation utility

njsTrace - Instrumentation and Tracing njstrace lets you easily instrument and trace you code, see all function calls, arguments, return values, as we

Yuval 354 Dec 29, 2022
He is like Batman, but for Node.js stack traces

Stackman Give Stackman an error and he will give an array of stack frames with extremely detailed information for each frame in the stack trace. With

Thomas Watson 242 Jan 1, 2023
Streamline Your Node.js Debugging Workflow with Chromium (Chrome, Edge, More) DevTools.

NiM (Node.js --inspector Manager) Streamlines your development process Google Chrome Web Store (works with any Chromium browsers: Google's Chrome, Mic

Will 188 Dec 28, 2022
A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers

debug A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers. Installation $ npm ins

Sloth 10.5k Dec 30, 2022
📡 Encrypt and authenticate DevTools to use it securely remotely. Add HTTPS, and authentication to --remote-debugging-port to debug, inspect and automate from anywhere and collaborate securely on bugs.

?? Encrypt and authenticate DevTools to use it securely remotely. Add HTTPS, and authentication to --remote-debugging-port to debug, inspect and automate from anywhere and collaborate securely on bugs.

Cris 9 May 5, 2022