{"id":533,"date":"2017-05-11T21:36:34","date_gmt":"2017-05-11T21:36:34","guid":{"rendered":"https:\/\/www.joseluisestevez.com\/?p=533"},"modified":"2017-07-15T06:40:08","modified_gmt":"2017-07-15T06:40:08","slug":"depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux","status":"publish","type":"post","link":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/","title":{"rendered":"\u00bfC\u00f3mo depurar un programa en C \/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux?"},"content":{"rendered":"<p>Unos de los lenguajes utilizados en casi todas las Universidades para ense\u00f1ar a programar es lenguaje C \/ C++ en mis comienzos en la programaci\u00f3n usando vim y compilando por la linea de comando no tenia un IDE como Eclipse, Netbeans o IntellijJ IDEA para depurar el c\u00f3digo, y me surgi\u00f3 la duda de como un viejo amigo pod\u00eda depurar su c\u00f3digo en vim y me puse manos a la obra ya que tengo que saber como se hace.<\/p>\n<p><!--more--><\/p>\n<p>Lo primero que voy a hacer es instalar el gdb y el editor vim desde la consola de linux ejecutamos:<\/p>\n<pre class=\"lang:default decode:true \">apt-get install gdb vim<\/pre>\n<p>Ahora vamos a crear un peque\u00f1o ejemplo para hacer nuestra depuraci\u00f3n:<\/p>\n<p>vim aritmetica.c<\/p>\n<p>Si queremos ver\u00a0la sintaxis del lenguaje en el editor vim podemos habilitarla entrado al Modo de Comandos\u00a0\u00abusando ESC\u00bb y escribiendo \u00absyntax on\u00bb<\/p>\n<p>Ahora entrando al modo de inserci\u00f3n con la letra \u00abi\u00bb escribimos nuestro codigo:<\/p>\n<pre class=\"lang:c decode:true\">#include &lt;stdio.h&gt;\r\n#include &lt;stdlib.h&gt;\r\n\r\nvoid verInverso(int *ptr, int tam){\r\n  int i, valor;\r\n  for (i = tam-1; i &gt;= 0; i--){\r\n    valor = *(ptr--);\r\n    printf(\"arr[%d] = %d\\n\", i, valor);\r\n  }\r\n}\r\nvoid ver(int *ptr, int tam){\r\n  int i, valor;\r\n  for (i = 0; i &lt; tam; i++){\r\n    valor = ptr[i];\r\n    printf(\"arr[%d] = %d\\n\", i, valor);\r\n  }    \r\n}\r\nmain(){\r\n  int arr[5] = {1,2,3,4,5};\r\n  ver(arr, 5);\r\n  verInverso(&amp;arr[4], 5);\r\n}<\/pre>\n<p>Luego volvemos a el modo comando y escribimos \u00a0\u00abwq\u00bb para guardar y salir<\/p>\n<p>Ahora vamos a compilar nuestro c\u00f3digo:<\/p>\n<pre class=\"lang:default decode:true \">gcc aritmetica.c -g -o aritmetica.out<\/pre>\n<p>Hemos usado la opci\u00f3n -g para habilitar la depuraci\u00f3n y la opci\u00f3n -o es para darle un nombre al programa compilado.<\/p>\n<p>Ahora usamos el comando gdb para iniciar la depuraci\u00f3n<\/p>\n<pre class=\"lang:default decode:true \">gdb -tui aritmetica.out<\/pre>\n<p>El comando anterior nos muestra la siguiente pantalla:<\/p>\n<p><a href=\"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/Linux_GDB_DEBUG.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-537 size-full\" src=\"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/Linux_GDB_DEBUG.png\" alt=\"\" width=\"779\" height=\"732\" srcset=\"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/Linux_GDB_DEBUG.png 779w, https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/Linux_GDB_DEBUG-300x282.png 300w, https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/Linux_GDB_DEBUG-768x722.png 768w\" sizes=\"auto, (max-width: 779px) 100vw, 779px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Ahora vamos a colocar nuestros puntos de interrupci\u00f3n en cualquier parte del c\u00f3digo fuente con depurador. Aqu\u00ed tienes las opciones para establecer un punto de interrupci\u00f3n en un n\u00famero de l\u00ednea del archivo fuente de corriente:<\/p>\n<p><em>break [line number]<\/em><\/p>\n<p>o en un n\u00famero de l\u00ednea de un archivo de origen espec\u00edfica:<\/p>\n<p><em>break [file name]:[line number]<\/em><\/p>\n<p>o en una funci\u00f3n particular:<\/p>\n<p><em>break [function name]<\/em><\/p>\n<p>Y a\u00fan mejor, puede establecer puntos de interrupci\u00f3n condicionales:<\/p>\n<p><em>break [line number] if [condition]<\/em><\/p>\n<p>en mi caso voy a colocar uno en la linea 19 donde comienza el main<\/p>\n<pre class=\"lang:default decode:true \">(gdb) break 19\r\nBreakpoint 1 at 0x4005b2: file aritmetica.c, line 19.<\/pre>\n<p>Podemos colocar un \u00abpunto de observaci\u00f3n\u00bb, que har\u00e1 una pausa en el programa si se modifica una variable:<\/p>\n<p><em>watch [variable]<\/em><\/p>\n<p>Aqu\u00ed, puedo establecer una como:<\/p>\n<p><em>watch valor<\/em><\/p>\n<p>Ahora ejecutamos el programa con<\/p>\n<p><em>r [argumentos de l\u00ednea de comando si tuviera alguno]<\/em><\/p>\n<pre class=\"lang:default decode:true\">(gdb) r\r\nStarting program: \/home\/jestevez\/aritmetica.out\r\n\r\nBreakpoint 1, main () at aritmetica.c:19<\/pre>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/run_gdb.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-536 size-full\" src=\"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/run_gdb.png\" alt=\"\" width=\"499\" height=\"470\" srcset=\"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/run_gdb.png 499w, https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/run_gdb-300x283.png 300w\" sizes=\"auto, (max-width: 499px) 100vw, 499px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>El programa se ha ejecutado y se ha detenido en la linea 19 donde colocamos nuestro break point. A partir de ahora\u00a0las cosas comienzan a ponerse interesantes.<\/p>\n<p>El comando\u00a0bt \u00abbacktrack\u00bb nos dir\u00e1 c\u00f3mo hemos llegado a ese punto.<\/p>\n<pre class=\"lang:default decode:true \">(gdb) bt\r\n#0 main () at aritmetica.c:19<\/pre>\n<p><em>info locals<\/em><\/p>\n<p>Este comando mostrar\u00e1 todas las variables locales y sus valores actuales<\/p>\n<pre class=\"lang:default decode:true \">(gdb) info locals\r\narr = {4195840, 0, 4195344, 0, -7600}<\/pre>\n<p>Por supuesto:<\/p>\n<p><em>p [variable]<\/em><\/p>\n<p>mostrar\u00e1 el valor de una variable en particular.<\/p>\n<pre class=\"lang:default decode:true \">(gdb) p arr\r\n$1 = {4195840, 0, 4195344, 0, -7600}<\/pre>\n<p>Tambi\u00e9n podemos ver el tipo :<\/p>\n<p><em>ptype \u00a0[variable]<\/em><\/p>\n<p>Muestra el tipo de una variable local. As\u00ed que aqu\u00ed podemos confirmar que arr\u00a0es arreglo de 5.<\/p>\n<pre class=\"lang:default decode:true \">(gdb) ptype arr\r\ntype = int [5]<\/pre>\n<p>Si deseamos cambiar el valor de una variable podemos usar<\/p>\n<p><em>set var [variable] = [new value]<\/em><\/p>\n<p>Ahora vamos a inicializar los valores dentro del arreglo dado que no lo inicializamos y tiene valores basura<\/p>\n<pre class=\"lang:default decode:true \">set var arr = {0,0,0,0,0}\r\n\r\n(gdb) set var arr = {0,0,0,0,0}\r\n(gdb) p arr\r\n$2 = {0, 0, 0, 0, 0}<\/pre>\n<p>Y al igual que cualquier buen depurador, podemos ir \u00abpaso\u00bb a \u00abpaso\u00bb con:<\/p>\n<p><em>step<\/em><\/p>\n<p>para ejecutar la siguiente l\u00ednea y potencialmente entrar en una funci\u00f3n:<\/p>\n<p><em>next<\/em><\/p>\n<p>para ir directamente a la l\u00ednea de abajo, haciendo caso omiso de cualquier llamada a la funci\u00f3n.<\/p>\n<p>Y para terminar la prueba, puede eliminar un punto de interrupci\u00f3n con:<\/p>\n<p><em>delete [line number]<\/em><\/p>\n<p>Sigue corriendo el programa desde el punto de interrupci\u00f3n actual con:<\/p>\n<p><em>continue<\/em><\/p>\n<p>y para salir de GDB:<\/p>\n<p><em>quit<\/em><\/p>\n<p>Como vemos gdb es muy \u00fatil si tenemos algoritmos en lenguaje c o c++ que necesitamos mantener o modificar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unos de los lenguajes utilizados en casi todas las Universidades para ense\u00f1ar a programar es lenguaje C \/ C++ en mis comienzos en la programaci\u00f3n usando vim y compilando por la linea de comando no tenia un IDE como Eclipse, Netbeans o IntellijJ IDEA para depurar el c\u00f3digo, y me surgi\u00f3 la duda de como [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":541,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53,68,70,6,69],"tags":[72,73,12,71],"class_list":["post-533","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-debian","category-gdb","category-lenguaje-c","category-linux","category-vim","tag-gdb","tag-lenguaje-c","tag-linux","tag-vim"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u00bfC\u00f3mo depurar un programa en C \/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux? - El Blog de Jose Luis Estevez<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfC\u00f3mo depurar un programa en C \/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux? - El Blog de Jose Luis Estevez\" \/>\n<meta property=\"og:description\" content=\"Unos de los lenguajes utilizados en casi todas las Universidades para ense\u00f1ar a programar es lenguaje C \/ C++ en mis comienzos en la programaci\u00f3n usando vim y compilando por la linea de comando no tenia un IDE como Eclipse, Netbeans o IntellijJ IDEA para depurar el c\u00f3digo, y me surgi\u00f3 la duda de como [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/\" \/>\n<meta property=\"og:site_name\" content=\"El Blog de Jose Luis Estevez\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-11T21:36:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-07-15T06:40:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/gdb-logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"193\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"yeyo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"yeyo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/\"},\"author\":{\"name\":\"yeyo\",\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/#\\\/schema\\\/person\\\/6a17b38fcac664fdb33a5fba8056d0ee\"},\"headline\":\"\u00bfC\u00f3mo depurar un programa en C \\\/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux?\",\"datePublished\":\"2017-05-11T21:36:34+00:00\",\"dateModified\":\"2017-07-15T06:40:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/\"},\"wordCount\":612,\"image\":{\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.joseluisestevez.com\\\/wp-content\\\/uploads\\\/2017\\\/05\\\/gdb-logo.png\",\"keywords\":[\"gdb\",\"Lenguaje C\",\"Linux\",\"vim\"],\"articleSection\":[\"Debian\",\"gdb\",\"Lenguaje C\",\"Linux\",\"vim\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/\",\"url\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/\",\"name\":\"\u00bfC\u00f3mo depurar un programa en C \\\/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux? - El Blog de Jose Luis Estevez\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.joseluisestevez.com\\\/wp-content\\\/uploads\\\/2017\\\/05\\\/gdb-logo.png\",\"datePublished\":\"2017-05-11T21:36:34+00:00\",\"dateModified\":\"2017-07-15T06:40:08+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/#\\\/schema\\\/person\\\/6a17b38fcac664fdb33a5fba8056d0ee\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.joseluisestevez.com\\\/wp-content\\\/uploads\\\/2017\\\/05\\\/gdb-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.joseluisestevez.com\\\/wp-content\\\/uploads\\\/2017\\\/05\\\/gdb-logo.png\",\"width\":300,\"height\":193},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/2017\\\/05\\\/11\\\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/www.joseluisestevez.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00bfC\u00f3mo depurar un programa en C \\\/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/#website\",\"url\":\"https:\\\/\\\/www.joseluisestevez.com\\\/\",\"name\":\"El Blog de Jose Luis Estevez\",\"description\":\"Desarrollador Senior\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.joseluisestevez.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.joseluisestevez.com\\\/#\\\/schema\\\/person\\\/6a17b38fcac664fdb33a5fba8056d0ee\",\"name\":\"yeyo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3565e9dac43d5a8d2b807866a3af3ab66eeacb68b2d28fc63b962ad40c6ef4c7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3565e9dac43d5a8d2b807866a3af3ab66eeacb68b2d28fc63b962ad40c6ef4c7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3565e9dac43d5a8d2b807866a3af3ab66eeacb68b2d28fc63b962ad40c6ef4c7?s=96&d=mm&r=g\",\"caption\":\"yeyo\"},\"description\":\"Arquitecto de Software emprendedor con ardua experiencia en el camino de la tecnolog\u00eda.\",\"sameAs\":[\"http:\\\/\\\/www.joseluisestevez.com\"],\"url\":\"https:\\\/\\\/www.joseluisestevez.com\\\/index.php\\\/author\\\/yeyo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfC\u00f3mo depurar un programa en C \/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux? - El Blog de Jose Luis Estevez","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:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/","og_locale":"es_ES","og_type":"article","og_title":"\u00bfC\u00f3mo depurar un programa en C \/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux? - El Blog de Jose Luis Estevez","og_description":"Unos de los lenguajes utilizados en casi todas las Universidades para ense\u00f1ar a programar es lenguaje C \/ C++ en mis comienzos en la programaci\u00f3n usando vim y compilando por la linea de comando no tenia un IDE como Eclipse, Netbeans o IntellijJ IDEA para depurar el c\u00f3digo, y me surgi\u00f3 la duda de como [&hellip;]","og_url":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/","og_site_name":"El Blog de Jose Luis Estevez","article_published_time":"2017-05-11T21:36:34+00:00","article_modified_time":"2017-07-15T06:40:08+00:00","og_image":[{"width":300,"height":193,"url":"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/gdb-logo.png","type":"image\/png"}],"author":"yeyo","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"yeyo","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/#article","isPartOf":{"@id":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/"},"author":{"name":"yeyo","@id":"https:\/\/www.joseluisestevez.com\/#\/schema\/person\/6a17b38fcac664fdb33a5fba8056d0ee"},"headline":"\u00bfC\u00f3mo depurar un programa en C \/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux?","datePublished":"2017-05-11T21:36:34+00:00","dateModified":"2017-07-15T06:40:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/"},"wordCount":612,"image":{"@id":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/#primaryimage"},"thumbnailUrl":"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/gdb-logo.png","keywords":["gdb","Lenguaje C","Linux","vim"],"articleSection":["Debian","gdb","Lenguaje C","Linux","vim"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/","url":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/","name":"\u00bfC\u00f3mo depurar un programa en C \/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux? - El Blog de Jose Luis Estevez","isPartOf":{"@id":"https:\/\/www.joseluisestevez.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/#primaryimage"},"image":{"@id":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/#primaryimage"},"thumbnailUrl":"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/gdb-logo.png","datePublished":"2017-05-11T21:36:34+00:00","dateModified":"2017-07-15T06:40:08+00:00","author":{"@id":"https:\/\/www.joseluisestevez.com\/#\/schema\/person\/6a17b38fcac664fdb33a5fba8056d0ee"},"breadcrumb":{"@id":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/#primaryimage","url":"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/gdb-logo.png","contentUrl":"https:\/\/www.joseluisestevez.com\/wp-content\/uploads\/2017\/05\/gdb-logo.png","width":300,"height":193},{"@type":"BreadcrumbList","@id":"https:\/\/www.joseluisestevez.com\/index.php\/2017\/05\/11\/depurar-programa-c-c-depurador-gdb-desde-la-linea-comando-linux\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.joseluisestevez.com\/"},{"@type":"ListItem","position":2,"name":"\u00bfC\u00f3mo depurar un programa en C \/ C ++ con el depurador gdb desde la l\u00ednea de comando de Linux?"}]},{"@type":"WebSite","@id":"https:\/\/www.joseluisestevez.com\/#website","url":"https:\/\/www.joseluisestevez.com\/","name":"El Blog de Jose Luis Estevez","description":"Desarrollador Senior","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.joseluisestevez.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.joseluisestevez.com\/#\/schema\/person\/6a17b38fcac664fdb33a5fba8056d0ee","name":"yeyo","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/3565e9dac43d5a8d2b807866a3af3ab66eeacb68b2d28fc63b962ad40c6ef4c7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3565e9dac43d5a8d2b807866a3af3ab66eeacb68b2d28fc63b962ad40c6ef4c7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3565e9dac43d5a8d2b807866a3af3ab66eeacb68b2d28fc63b962ad40c6ef4c7?s=96&d=mm&r=g","caption":"yeyo"},"description":"Arquitecto de Software emprendedor con ardua experiencia en el camino de la tecnolog\u00eda.","sameAs":["http:\/\/www.joseluisestevez.com"],"url":"https:\/\/www.joseluisestevez.com\/index.php\/author\/yeyo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/posts\/533","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/comments?post=533"}],"version-history":[{"count":8,"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/posts\/533\/revisions"}],"predecessor-version":[{"id":545,"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/posts\/533\/revisions\/545"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/media\/541"}],"wp:attachment":[{"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/media?parent=533"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/categories?post=533"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.joseluisestevez.com\/index.php\/wp-json\/wp\/v2\/tags?post=533"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}