I have a program that takes input from stdin and also takes some parameters from command line. It looks like this:
cat input.txt > myprogram -path "/home/user/work"
I try to debug the code with gdb inside emacs, by M-x gdb, I try to load the program with the command:
gdb cat input.txt > myprogram -path "/home/user/work"
However, gdb does not like it.
Question cribbed from here. Unfortunately I don't understand the solution and am not sure what to do beyond compiling with the -g
option and running the command M-x gdb.
Use the run command to start your program under GDB. You must first specify the program name (except on VxWorks) with an argument to GDB (see section Getting In and Out of GDB), or by using the file or exec-file command (see section Commands to specify files).
Type "gdb [filename]" where [filename] is the name of the compiled file you wish to debug (the name you type to run your program). Set the arguments. If your program runs with any command line arguments, you should input them with "set args".
You can optionally have gdb pass any arguments after the executable file to the inferior using --args . This option stops option processing. This will cause gdb to debug gcc , and to set gcc 's command-line arguments (see Arguments) to ` -O2 -c foo.
If you were doing it from a shell you'd do it like this:
% gdb myprogram gdb> run params ... < input.txt
This seems to work within emacs too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With