Quotes after --args

"Markus Bühren" bhr2@gmx.de
Fri Jun 8 14:21:00 GMT 2012


I am using the GNU gdb 6.8 under Windows. I am trying to run a program that is invoked like 

  test.exe -f "my testfile.txt"

in batch mode. This is my command line:

  gdb --eval-command=run --batch --args test.exe -f "my testfile.txt"

My program should get two arguments, '-f' and 'my testfile.txt'. However, replacing my actual program test.exe by a program that just prints the input arguments, I get the following result:

  C:\>gdb --eval-command=run --batch --args test.exe -f "my testfile.txt"
  [New thread 6180.0xad0]
  argv[0] = >>C:/test.exe<<
  argv[1] = >>-f<<
  argv[2] = >>my\<<
  argv[3] = >>testfile.txt<<
  Program exited normally.

Can you help me to avoid that the file name is splitted into two arguments, with replacing the blank ' ' after 'my' by a backslash '\'? I have tried a lot of combinations of double double quotes '""', escaped double quotes '\"' and so on but I did not manage to get the file name passed as a single argument into my program.


PS: Renaming the file is not an option - actually, I already simplified matters here to a file name with a blank in it.

PPS: For your reference, this is the C code of my simple program returning the arguments:

#include <stdio.h>

void main(int argc, char *argv[])
  int k;
  for(k = 0; k < argc; k++)
    printf("argv[%d] = >>%s<<\n", k, argv[k]);

More information about the Gdb mailing list