What is the de facto way to debug server code in 1.4?

After updating to 1.4.1, node inspector (v0.12.8) has been even flakier than usual for us, and the guide unfortunately lacks in this area.

  • To start, which one of these is ‘the most correct’? The first one has always worked for us, but the 1.4 migration guide briefly mentions removing --debug-brk, while other sources use the third.
meteor debug
NODE_OPTIONS='--debug-brk' meteor
env NODE_OPTIONS='--debug' meteor
  • What does the guide mean by you can now debug without using the --debug-brk option?. Without that flag, how does node-inspector know to start up / listen?

  • Node inspector no longer pauses at the first line of the process, is this expected behavior?

  • What URL do I go to for the debugging interface? It’s telling me to use 5858 & 5959 simultaneously after meteor debug.

To debug the server process using a graphical debugging interface,
visit this URL in your web browser:

  http://localhost:8080/?port=5858

If your application is paused on a breakpoint but the code is not
visible in the debugger, press the pause (||) button.

 Debugger listening on port 5959

2 Likes

more info and some jenky alternatives. still no luck server side debugging on 1.4+ though…

Oh no, is this gone?

console.log(“welcome to the server… :(”); lol

2 Likes

what is this: Debugger listening on [::]:5959
None of the guides and api docs help

@sashko

1 Like

Localhost:8080/debug?port=5959

Like… how would u know this right?

See http://joshowens.me/easily-debugging-meteor-js/

MDG - please put back the console log letting us know how to do this.

doesn’t work though. although im run it on codenvy which is remote docker, so the port may not have been exposed.

This has worked well for me on windows and mac locally.

Hi, I’m having this problem with server debugging. I’m running last version of meteor (1.4.4.2).
I put a debugging statement in one of my server methods. Run meteor with debug option and open this address in google chrome:
http://localhost:8080/debug?port=5959

But I get this error messages in debugger console (node inspector):

Network.loadResourceForFrontend failed.
Error: ENOENT: no such file or directory, open ‘C:\contabm_v2.meteor\local\build\programs\server\app\pdfmake.min.js.map’

Network.loadResourceForFrontend failed.
Error: ENOENT: no such file or directory, open ‘C:\contabm_v2.meteor\local\build\programs\server\profile.js.map’

I don’t know what could be happening with ‘profile.map’, but with pdfmake, I installed from bower in another directory, outside my project, and copied the files in build directory to a directory in my project’s root.

Pdfmake loads and works perfectly but produces this error when server debugging and client debugging as well.

Specifically, when client debugging, chrome developers tools gives this error:

DevTools failed to parse SourceMap: http://localhost:3020/app/pdfmake.min.js.map

But I don´t know why because the ‘map’ file is there in the same directory where all pdfmake files are. And as I said before, pdfmake is working as expected.

So, basically, my server debugging is broken and my client debugging is partially broken, because I can only debug from app.js, which is not a good debugging experience.

Any help is much appreciated.

Thanks and bye …

Hi,
client side debugging is solved. I just moved pdfmake’s files to an imports directory, so meteor doesn’t try to load them eagerly. As they are not in the client, the problem disappeared and debugging is working again.

Thanks and bye …