¿Cómo paso un argumento de línea de comandos al iniciar GDB en Linux?
Tengo que depurar un programa que tiene errores como parte de mi asignación. Sin embargo, primero debo pasar argumentos de la línea de comandos para resolver este problema.
Lo hago:
gdb -tui InsertionSortWithErrors
Que funciona, pero después de eso no se como pasar argumentos. Usé gdb -help
y dice algo sobre --args
que también intenté y no funcionó.
Quiero ser capaz de obtener el depurador+la gui y pasar argumentos de la línea de comandos.
4 answers
Una vez que se inicia gdb
, puede ejecutar el programa utilizando "r args".
Así que si está ejecutando su código por:
$ executablefile arg1 arg2 arg3
Depurar en gdb
por:
$ gdb executablefile
(gdb) r arg1 arg2 arg3
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-08 22:12:10
Intenta
gdb --args InsertionSortWithErrors arg1toinsort arg2toinsort
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-24 06:08:17
Estoy usando gdb 7.1.1, como --help
muestra:
Gdb [options] arg archivo-ejecutable-args [argumentos-inferiores ...]
En mi humilde opinión, el orden es un poco poco intuitivo al principio.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-16 07:10:37
Otra opción, una vez dentro de gdb shell, antes de ejecutar el programa, puede hacer
(gdb) set args file1 file2
E inspeccionarlo con
(gdb) show args
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-10 17:59:30