Tengo un programa que toma la entrada de stdin y también toma algunos parámetros de la línea de comando. Se parece a esto:
cat input.txt > myprogram -path "/home/user/work"
Intento depurar el código con gdb dentro de emacs, por Mx gdb, trato de cargar el programa con el comando:
gdb cat input.txt > myprogram -path "/home/user/work"
Sin embargo, a gdb no le gusta.
Pregunta desde aquí . Desafortunadamente, no entiendo la solución y no estoy seguro de qué hacer más allá de compilar con la -g
opción y ejecutar el comando Mx gdb.
emacs
gdb
redirect
command-line-arguments
vinc456
fuente
fuente
<
yinput.txt
comoargv
argumentos para mi programa :( Seguiré investigando estas respuestas con mi gdb 8.2.1: stackoverflow.com/questions/3544325/…Hay varias formas de hacerlo:
o
o
donde el
run
comando gdb (r
) usa por defecto los argumentos establecidos previamente conset args
.fuente
gdb -ex 'r -path /home/user/work < input.txt' myprogram
en la tercera variante?gdb -ex 'b main' -ex 'r -path /home/user/work < input.txt' myprogram
.En aras de la integridad al iniciar una sesión de depuración, también existe la opción --args. es decir)
fuente
gdb --args yourprog.out input.txt
Y si no necesita depurar desde el principio, también puede adjuntarlo a un proceso que ya se esté ejecutando mediante:
donde xxx es la identificación del proceso. Entonces no necesitas decirle a gdb los argumentos iniciales.
fuente