Muchas respuestas geniales aquí, pero me gustaría agregar mi punto de vista (basado en cómo evolucionó mi enfoque)
Registros de depuración
Seamos realistas, a todos nos encanta un bien console.log('Uh oh, if you reached here, you better run.')
y, a veces, eso funciona muy bien, así que si eres reticente a alejarte demasiado, al menos agrega un poco de brillo a tus registros con la depuración de Visionmedia .
Depuración interactiva
A pesar de lo útil que puede ser el registro de la consola, para depurar profesionalmente debe arremangarse y quedarse atrapado. Establezca puntos de interrupción, recorra su código, inspeccione los ámbitos y las variables para ver qué está causando ese comportamiento extraño. Como otros han mencionado, el inspector de nodos realmente es la rodilla de las abejas. Hace todo lo que puede hacer con el depurador incorporado, pero usando esa interfaz familiar de Chrome DevTools. Si, como yo, usa Webstorm , aquí hay una guía práctica para depurar desde allí.
Rastros de pila
Por defecto, no podemos rastrear una serie de operaciones en diferentes ciclos del ciclo de eventos (ticks). Para evitar esto, eche un vistazo a Longjohn (¡pero no en producción!).
Pérdidas de memoria
Con Node.js podemos tener un proceso de servidor que se espera que permanezca activo durante un tiempo considerable. ¿Qué haces si crees que ha surgido algunas fugas desagradables? Use heapdump y Chrome DevTools para comparar algunas instantáneas y ver qué está cambiando.
Para algunos artículos útiles, consulte
Si tienes ganas de ver un video (s) entonces
Cualquiera sea el camino que elija, solo asegúrese de comprender cómo está depurando
Es algo doloroso
mirar tus propios problemas y saber
que usted mismo y nadie más lo ha logrado.
Sófocles, Ajax