{"id":95741,"date":"2022-10-01T22:30:26","date_gmt":"2022-10-01T20:30:26","guid":{"rendered":"https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/"},"modified":"2020-12-07T21:06:28","modified_gmt":"2020-12-08T00:06:28","slug":"aprendiendo-a-depurar-aplicaciones-en-node-js","status":"publish","type":"post","link":"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/","title":{"rendered":"Lernen, Anwendungen in Node.js zu debuggen"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenidos<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#Habilitar-un-inspector\" >Habilitar un inspector<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#La-seguridad-se-ve-implicada\" >La seguridad se ve implicada<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#Exponer-el-puerto-de-depuracion-publicamente-no-es-seguro\" >Exponer el puerto de depuraci\u00f3n p\u00fablicamente no es seguro<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#Las-aplicaciones-locales-tienen-acceso-completo-al-inspector\" >Las aplicaciones locales tienen acceso completo al inspector.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#Navegadores-websockets-y-politica-del-mismo-origen\" >Navegadores, websockets y pol\u00edtica del mismo origen.<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#Clientes-Inspectores\" >Clientes Inspectores<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#Opciones-de-la-linea-de-comandos\" >Opciones de la l\u00ednea de comandos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#Habilitacion-de-escenarios-de-depuracion-remota\" >Habilitaci\u00f3n de escenarios de depuraci\u00f3n remota<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<div itemprop=\"articleBody\">\n<p>Este es un pr\u00e1ctico tutorial de c\u00f3mo depurar tus aplicaciones hechas en Node.js. Con esto aprender\u00e1s a hacer esta tarea por completo y de la mejor manera.\u00a0Esta gu\u00eda lo ayudar\u00e1 a comenzar a depurar tus aplicaciones y scripts Node.js. Contin\u00faa leyendo y ent\u00e9rate de mas.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Habilitar-un-inspector\"><\/span>Habilitar un inspector<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Cuando se inicia con el interruptor <code>--inspect<\/code> , un proceso Node.js escucha a trav\u00e9s de WebSockets los comandos de diagn\u00f3stico definidos por el protocolo Inspector de forma predeterminada en el host y el puerto <strong>127.0.0.1:9229.<\/strong> A cada proceso tambi\u00e9n se le asigna un UUID \u00fanico (por ejemplo <em>0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e).<\/em><\/p>\n<p>Los clientes de Inspector deben conocer y especificar la direcci\u00f3n de host, el puerto y el UUID para conectarse a la interfaz de WebSocket. La URL completa <em>ws:\/\/127.0.0.1:9229\/0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e<\/em> depende, por supuesto, del host y el puerto reales y con el UUID correcto para la instancia.<\/p>\n<p>El Inspector tambi\u00e9n incluye un punto final HTTP para servir metadatos sobre el depurador, incluida su URL de WebSocket, UUID y la URL de Chrome DevTools. Obt\u00e9n estos metadatos enviando una solicitud HTTP a <em>http:\/\/[host:port]\/json\/list.<\/em> Esto devuelve un objeto JSON como el siguiente; utiliza la\u00a0propiedad webSocketDebuggerUrl como la URL para conectarse directamente a Inspector.<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n{&#13;\n\"description\": \"node.js instance\",&#13;\n\"devtoolsFrontendUrl\": \"chrome-devtools:\/\/devtools\/bundled\/inspector.html?experiments=true&amp;v8only=true&amp;ws=127.0.0.1:9229\/0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e\",&#13;\n\"faviconUrl\": \"https:\/\/nodejs.org\/static\/favicon.ico\",&#13;\n\"id\": \"0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e\",&#13;\n\"title\": \"node\",&#13;\n\"type\": \"node\",&#13;\n\"url\": \"file:\/\/\",&#13;\n\"webSocketDebuggerUrl\": \"ws:\/\/127.0.0.1:9229\/0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e\"&#13;\n}&#13;\n&#13;\n<\/pre>\n<p>Tambi\u00e9n se puede dar instrucciones a un proceso Node.js iniciado <em>sin \u2013inspect<\/em>\u00a0para comenzar a escuchar los mensajes de depuraci\u00f3n se\u00f1aliz\u00e1ndolo con <strong>SIGUSR1<\/strong> (en Linux y OS X). A partir del Node 7, esto activa la API de depuraci\u00f3n heredada; en el Node 8 y posterior activar\u00e1 la API Inspector.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"La-seguridad-se-ve-implicada\"><\/span>La seguridad se ve implicada<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dado que el depurador tiene acceso completo al entorno de ejecuci\u00f3n Node.js, un actor malintencionado capaz de conectarse a este puerto puede ejecutar c\u00f3digo arbitrario en nombre del proceso del nodo.\u00a0Es importante comprender las implicaciones de seguridad de exponer el puerto de depuraci\u00f3n en redes p\u00fablicas y privadas.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Exponer-el-puerto-de-depuracion-publicamente-no-es-seguro\"><\/span>Exponer el puerto de depuraci\u00f3n p\u00fablicamente no es seguro<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Si el depurador est\u00e1 vinculado a una direcci\u00f3n IP p\u00fablica, o <strong>0.0.0.0,<\/strong> cualquier cliente que pueda acceder a su direcci\u00f3n IP podr\u00e1 conectarse al depurador sin ninguna restricci\u00f3n y podr\u00e1 ejecutar c\u00f3digo arbitrario.<\/p>\n<p>Por defecto se\u00a0enlaza node \u2013inspect a 127.0.0.1. Debe proporcionar expl\u00edcitamente una direcci\u00f3n IP p\u00fablica o 0.0.0.0, etc., si desea permitir conexiones externas al depurador. Hacerlo puede exponerlo a una amenaza de seguridad potencialmente importante. Le sugerimos que asegure los cortafuegos y los controles de acceso adecuados para evitar una exposici\u00f3n de seguridad.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Las-aplicaciones-locales-tienen-acceso-completo-al-inspector\"><\/span>Las aplicaciones locales tienen acceso completo al inspector.<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Incluso si vincula el puerto del inspector a <strong>127.0.0.1<\/strong> (el valor predeterminado), cualquier aplicaci\u00f3n que se ejecute localmente en su PC tendr\u00e1 acceso sin restricciones.\u00a0Esto es por dise\u00f1o para permitir que los depuradores locales puedan adjuntar convenientemente.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Navegadores-websockets-y-politica-del-mismo-origen\"><\/span>Navegadores, websockets y pol\u00edtica del mismo origen.<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Los sitios web abiertos en un navegador web pueden hacer solicitudes WebSocket y HTTP bajo el modelo de seguridad del navegador. Es necesaria una conexi\u00f3n HTTP inicial para obtener un Id de sesi\u00f3n de depurador \u00fanico. La misma pol\u00edtica de origen impide que los sitios web puedan realizar esta conexi\u00f3n HTTP.<\/p>\n<p>Para mayor seguridad contra los ataques de reencuadernaci\u00f3n de DNS, Node.js verifica que las cabeceras del \u2018Host\u2019 para la conexi\u00f3n especifiquen una direcci\u00f3n IP o localhost o localhost6 con precisi\u00f3n.<\/p>\n<p>Estas pol\u00edticas de seguridad no permiten conectarse a un servidor de depuraci\u00f3n remoto especificando el nombre del host. Puedes evitar esta restricci\u00f3n especificando la direcci\u00f3n IP o utilizando t\u00faneles ssh como se describe a continuaci\u00f3n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Clientes-Inspectores\"><\/span>Clientes Inspectores<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Varias herramientas comerciales y de c\u00f3digo abierto pueden conectarse al Inspector de nodos. A continuaci\u00f3n se ofrece informaci\u00f3n b\u00e1sica sobre estos temas:<\/p>\n<ul>\n<li><strong>node-inspect<\/strong>\n<ul>\n<li>Depurador CLI soportado por la Fundaci\u00f3n Node.js que utiliza el Protocolo Inspector.<\/li>\n<li>Una versi\u00f3n se incluye con Node y se puede utilizar con el nodo inspect myscript.js.<\/li>\n<li>La \u00faltima versi\u00f3n tambi\u00e9n puede instalarse de forma independiente (por ejemplo, npm install -g node-inspect) y utilizarse con node-inspect myscript.js.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Chrome DevTools 55+<\/strong>\n<ul>\n<li>Opci\u00f3n 1: Abrir chrome:\/\/inspect en un navegador basado en Chromium. Haga clic en el bot\u00f3n Configurar y aseg\u00farese de que el host y el puerto de destino aparecen en la lista.<\/li>\n<li>Opci\u00f3n 2: Copie devtoolsFrontendUrl de la salida de \/json\/list (ver arriba) o el texto \u2013inspect hint y p\u00e9guelo en Chrome.<\/li>\n<li>Opci\u00f3n 3: Instale Chrome Extension NIM (Administrador del Inspector de Nodos): https:\/\/chrome.google.com\/webstore\/detail\/nim-node-inspector-manage\/gnhhdgbaldcilmgcpfddgdbkhjohddkj<\/li>\n<\/ul>\n<\/li>\n<li><strong>Visual Studio Code 1.10+<\/strong>\n<ul>\n<li>En el panel de depuraci\u00f3n, haga clic en el icono de configuraci\u00f3n para abrir .vscode\/launch.json. Seleccione \u00abNode.js\u00bb para la configuraci\u00f3n inicial.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Visual Studio 2017<\/strong>\n<ul>\n<li>Elige \u00abDepurar &gt; Iniciar depuraci\u00f3n\u00bb en el men\u00fa o pulsa F5.<\/li>\n<\/ul>\n<\/li>\n<li><strong>JetBrains WebStorm 2017.1+ y otros IDEs de JetBrains<\/strong>\n<ul>\n<li>Cree una nueva configuraci\u00f3n de depuraci\u00f3n de Node.js y pulse Depurar. \u2013inspect se usar\u00e1 por defecto para Node.js 7+. Para desactivar js.debugger.node.use.inspect en el Registro IDE.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Interfaz remota de Chrome<\/strong>\n<ul>\n<li>Tiene una biblioteca para facilitar las conexiones a los puntos finales del protocolo Inspector<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Opciones-de-la-linea-de-comandos\"><\/span>Opciones de la l\u00ednea de comandos<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>La tabla siguiente enumera el impacto de varios indicadores de tiempo de ejecuci\u00f3n en la depuraci\u00f3n:<\/p>\n<ol>\n<li><strong>\u2013inspect:<\/strong>\n<ul>\n<li>Habilitar el agente de inspecci\u00f3n<\/li>\n<li>Escuchar en la direcci\u00f3n y puerto predeterminados (127.0.0.0.1:9229)<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u2013inspect=[host:port]:<\/strong>\n<ul>\n<li>Habilitar el agente de inspecci\u00f3n<\/li>\n<li>Enlazar a direcci\u00f3n o host de nombre de host (predeterminado: 127.0.0.0.1)<\/li>\n<li>Escuchar en el puerto (predeterminado: 9229)<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u2013inspect-brk<\/strong>\n<ul>\n<li>Habilitar el agente de inspecci\u00f3n<\/li>\n<li>Escuchar en la direcci\u00f3n y puerto predeterminados (127.0.0.1:9229)<\/li>\n<li>Pausa antes de que comience el c\u00f3digo de usuario<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u2013inspect-brk=<i>[host:port]<\/i><\/strong>\n<ul>\n<li>Habilitar el agente de inspecci\u00f3n<\/li>\n<li>Enlazar a direcci\u00f3n o host de nombre de host (predeterminado: 127.0.0.0.1)<\/li>\n<li>Escuchar en el puerto (predeterminado: 9229)<\/li>\n<li>Pausa antes de que comience el c\u00f3digo de usuario<\/li>\n<\/ul>\n<\/li>\n<li><strong>node inspect script.js<\/strong>\n<ul>\n<li>Spawn proceso hijo para ejecutar el script del usuario bajo \u2013inspect flag; y usar el proceso principal para ejecutar el depurador CLI.<\/li>\n<\/ul>\n<\/li>\n<li><strong>node inspect \u2013port=xxxx script.js<\/strong>\n<ul>\n<li>Spawn proceso hijo para ejecutar el script del usuario bajo \u2013inspect flag; y usar el proceso principal para ejecutar el depurador CLI.<\/li>\n<li>Escuchar en el puerto (predeterminado: 9229)<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Habilitacion-de-escenarios-de-depuracion-remota\"><\/span>Habilitaci\u00f3n de escenarios de depuraci\u00f3n remota<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Te recomiendo que nunca hagas que el depurador escuche en una direcci\u00f3n IP p\u00fablica. Si necesitas permitir conexiones de depuraci\u00f3n remotas, te recomiendo el uso de t\u00faneles ssh en su lugar. Te proporciono el siguiente ejemplo s\u00f3lo con fines ilustrativos. Por favor, comprende el riesgo de seguridad de permitir el acceso remoto a un servicio privilegiado antes de proceder.<\/p>\n<p>Supongamos que est\u00e1 ejecutando Node.js en una m\u00e1quina remota, <em>remota.ejemplo.com,<\/em> que desea poder depurar. En esa m\u00e1quina, debe iniciar el proceso del nodo con el inspector escuchando s\u00f3lo localhost (el predeterminado).<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n$ node --inspect server.js&#13;\n&#13;\n[php]&#13;\n&#13;\nAhora, en su m\u00e1quina local desde donde desea iniciar una conexi\u00f3n de cliente de depuraci\u00f3n, puede configurar un t\u00fanel ssh:&#13;\n&#13;\n[php]&#13;\n&#13;\n$ ssh -L 9221:localhost:9229 ejemplo_de@usuario.remoto.com&#13;\n&#13;\n<\/pre>\n<p>Esto inicia una sesi\u00f3n de t\u00fanel ssh donde una conexi\u00f3n al puerto 9221 de su m\u00e1quina local ser\u00e1 reenviada al puerto 9229 de remota.ejemplo.com. Ahora puedes adjuntar un depurador como Chrome DevTools o Visual Studio Code a localhost:9221, que deber\u00eda ser capaz de depurar como si la aplicaci\u00f3n Node.js se estuviera ejecutando localmente.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Este es un pr\u00e1ctico tutorial de c\u00f3mo depurar tus aplicaciones hechas en Node.js. Con esto aprender\u00e1s a hacer esta tarea por completo y de la mejor manera.\u00a0Esta gu\u00eda lo ayudar\u00e1&#8230;<\/p>","protected":false},"author":1,"featured_media":95742,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1374],"tags":[],"class_list":["post-95741","post","type-post","status-publish","format-standard","has-post-thumbnail","category-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v28.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Aprendiendo a depurar aplicaciones en Node.js - R Marketing Digital<\/title>\n<meta name=\"description\" content=\"Este es un pr\u00e1ctico tutorial de c\u00f3mo depurar tus aplicaciones hechas en Node.js. Con esto aprender\u00e1s a hacer esta tarea por completo y de la mejor\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Aprendiendo a depurar aplicaciones en Node.js\" \/>\n<meta property=\"og:description\" content=\"Este es un pr\u00e1ctico tutorial de c\u00f3mo depurar tus aplicaciones hechas en Node.js. Con esto aprender\u00e1s a hacer esta tarea por completo y de la mejor\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/\" \/>\n<meta property=\"og:site_name\" content=\"R Marketing Digital\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-01T20:30:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"480\" \/>\n\t<meta property=\"og:image:height\" content=\"271\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"R Marketing Digital\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/aprendiendo-a-depurar-aplicaciones-en-node-js\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/aprendiendo-a-depurar-aplicaciones-en-node-js\\\/\"},\"author\":{\"name\":\"R Marketing Digital\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\"},\"headline\":\"Aprendiendo a depurar aplicaciones en Node.js\",\"datePublished\":\"2022-10-01T20:30:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/aprendiendo-a-depurar-aplicaciones-en-node-js\\\/\"},\"wordCount\":1258,\"image\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/aprendiendo-a-depurar-aplicaciones-en-node-js\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917.jpg\",\"articleSection\":[\"Javascript\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/aprendiendo-a-depurar-aplicaciones-en-node-js\\\/\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/aprendiendo-a-depurar-aplicaciones-en-node-js\\\/\",\"name\":\"Aprendiendo a depurar aplicaciones en Node.js - R Marketing Digital\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/aprendiendo-a-depurar-aplicaciones-en-node-js\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/aprendiendo-a-depurar-aplicaciones-en-node-js\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917.jpg\",\"datePublished\":\"2022-10-01T20:30:26+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\"},\"description\":\"Este es un pr\u00e1ctico tutorial de c\u00f3mo depurar tus aplicaciones hechas en Node.js. Con esto aprender\u00e1s a hacer esta tarea por completo y de la mejor\",\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/aprendiendo-a-depurar-aplicaciones-en-node-js\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/aprendiendo-a-depurar-aplicaciones-en-node-js\\\/#primaryimage\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917.jpg\",\"contentUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917.jpg\",\"width\":480,\"height\":271,\"caption\":\"221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917-3002978-jpg\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#website\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/\",\"name\":\"R Marketing Digital\",\"description\":\"Agencia SEO | Publicidad redes sociales | Community Management\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/rmarketingdigital.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\",\"name\":\"R Marketing Digital\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"caption\":\"R Marketing Digital\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Aprendiendo a depurar aplicaciones en Node.js - R Marketing Digital","description":"Dies ist ein praktisches Tutorial zum Debuggen Ihrer in Node.js erstellten Anwendungen. Damit lernen Sie, diese Aufgabe vollst\u00e4ndig und bestm\u00f6glich zu erledigen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/","og_locale":"de_DE","og_type":"article","og_title":"Aprendiendo a depurar aplicaciones en Node.js","og_description":"Este es un pr\u00e1ctico tutorial de c\u00f3mo depurar tus aplicaciones hechas en Node.js. Con esto aprender\u00e1s a hacer esta tarea por completo y de la mejor","og_url":"https:\/\/rmarketingdigital.com\/de\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/","og_site_name":"R Marketing Digital","article_published_time":"2022-10-01T20:30:26+00:00","og_image":[{"width":480,"height":271,"url":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917.jpg","type":"image\/jpeg"}],"author":"R Marketing Digital","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#article","isPartOf":{"@id":"https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/"},"author":{"name":"R Marketing Digital","@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e"},"headline":"Aprendiendo a depurar aplicaciones en Node.js","datePublished":"2022-10-01T20:30:26+00:00","mainEntityOfPage":{"@id":"https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/"},"wordCount":1258,"image":{"@id":"https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#primaryimage"},"thumbnailUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917.jpg","articleSection":["Javascript"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/","url":"https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/","name":"Aprendiendo a depurar aplicaciones en Node.js - R Marketing Digital","isPartOf":{"@id":"https:\/\/rmarketingdigital.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#primaryimage"},"image":{"@id":"https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#primaryimage"},"thumbnailUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917.jpg","datePublished":"2022-10-01T20:30:26+00:00","author":{"@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e"},"description":"Dies ist ein praktisches Tutorial zum Debuggen Ihrer in Node.js erstellten Anwendungen. Damit lernen Sie, diese Aufgabe vollst\u00e4ndig und bestm\u00f6glich zu erledigen","inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/rmarketingdigital.com\/javascript\/aprendiendo-a-depurar-aplicaciones-en-node-js\/#primaryimage","url":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917.jpg","contentUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917.jpg","width":480,"height":271,"caption":"221732-aplicaciones-que-mas-rendimiento-segundo-plano-consumen-facebook-8043917-3002978-jpg"},{"@type":"WebSite","@id":"https:\/\/rmarketingdigital.com\/#website","url":"https:\/\/rmarketingdigital.com\/","name":"R Digitales Marketing","description":"SEO Agentur | Werbung f\u00fcr soziale Netzwerke | Community Management","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rmarketingdigital.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e","name":"R Digitales Marketing","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","caption":"R Marketing Digital"}}]}},"_links":{"self":[{"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/posts\/95741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/comments?post=95741"}],"version-history":[{"count":0,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/posts\/95741\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/media\/95742"}],"wp:attachment":[{"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/media?parent=95741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/categories?post=95741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/tags?post=95741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}