Wondering what’s next for npm?Check out our public roadmap! »

    sandbox-debugger-server

    0.2.41 • Public • Published

    sandbox-debugger

    js-standard-style build status Docker Image CI downloads Docker Pulls

    Debug a Node.js process anywhere using chrome://inspect or node-inspect

    node debug port 9229 sandbox debug client sandbox debug broker

    Interactive debugging using inspect, debug the same way you do with a local process.

    Supports a Node.js process running

    How it works?

    Node opens a websocket when in debug mode, both the sandbox server and client work by piping the websocket data via the broker.

    Run sandbox server

    The server is used as a gatekeeper for the debug messages.

    npx sandbox-debugger-server

    or

    ᐅ docker run \
      --name sandbox-debugger \
      -ti \
      --rm \
      -p 9229:9229 \
      jameskyburz/sandbox-debugger

    The server will output

       Debug server started!                       
                                                   
        - To debug a new process:                  
          export DEBUG_PROXY=xxx.xxx.x.xxx:9229    
          node index.js                            
                                                   
        - To debug an existing process:            
          export DEBUG_PROXY=xxx.xxx.x.xxx:9229    
          export DEBUG_PID=<pid of node process>   
          npx sandbox-debugger                     
    
        - Find pid of first running Node.js process
          ps ax |
          grep 'no[d]e ' |
          awk '{print $1}' |
          head -n 1
                                                   
        - Allow remote access to me:              
          npx ngrok http 9229                      

    Create a tunnel to our sandbox server process

    Using ngrok you can tunnel to the locally running broker from for example aws lambda.

    npx ngrok http 9229

    Client

    Example debug current process

    // index.js
    require('sandbox-debugger')
    debugger
    console.log('all done')

    # DEBUG_PROXY is ip:port to sandbox broker
    DEBUG_PROXY=ip:port node index.js

    Example debug an already running process

    # DEBUG_PROXY is ip:port to sandbox broker
    # DEBUG_PID is pid of process to debug
    DEBUG_PROXY=ip:port DEBUG_PID=x npx sandbox-debugger

    AWS Lambda

    Environment variable DEBUG_PROXY needs to point to the ngrok address including the port part :80.

    The easiest way to debug lambda is to edit the code in aws console.

    • Copy the contents of https://unpkg.com/sandbox-debugger@latest/dist/index.js to debug.js
    • require('./debug.js') instead of sandbox-debugger

    or

    Use a lambda layer containing the sandbox-debugger, you can publish your own for node 12 here and also node 10 here.

    license

    Apache License, Version 2.0

    Install

    npm i sandbox-debugger-server

    DownloadsWeekly Downloads

    3

    Version

    0.2.41

    License

    Apache-2.0

    Unpacked Size

    9.92 kB

    Total Files

    3

    Last publish

    Collaborators

    • avatar