GDB: как установить точку останова в файле с пробелами - PullRequest
1 голос
/ 29 февраля 2012

Как установить точку останова в файле с пробелом в имени файла или пути?

Кажется, что это невозможно с GDB или я что-то упустил?

/tmp$ g++ -g debugee\ space.cpp 
/tmp$ gdb ./a.out 
GNU gdb (GDB) 7.4
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /tmp/a.out...done.
(gdb) break "/tmp/debugee space.cpp:4"
Breakpoint 1 at 0x4007e3: file debugee space.cpp, line 4.
(gdb) break "/tmp/debugee space.cpp":4
Note: breakpoint 1 also set at pc 0x4007e3.
Breakpoint 2 at 0x4007e3: file debugee space.cpp, line 4.
(gdb) run
Starting program: /tmp/a.out 
Error in re-setting breakpoint 1: Function "/tmp/debugee space.cpp:4" not defined.
Error in re-setting breakpoint 2: Function "/tmp/debugee space.cpp:4" not defined.
Hello, world!
[Inferior 1 (process 14188) exited normally]
(gdb) 

Ответы [ 2 ]

1 голос
/ 03 марта 2012

Для меня это выглядит как регрессия в GDB 7.4.Я сообщил об ошибке: http://sourceware.org/bugzilla/show_bug.cgi?id=13798

0 голосов
/ 29 февраля 2012

у меня работает (тм), хотя с с ++ не пробовал ...

cat space\ spaces.c 
#include <stdio.h>

int tmp(void) {
    int a = 42;
    printf("%d", a);
}

int main(void) {
    tmp();

    return 0;
}

$ gdb -q a.out 
Reading symbols from /home/user/slask/gdb/a.out...done.
(gdb) b "space spaces.c":5
Breakpoint 1 at 0x4004f3: file space spaces.c, line 5.
(gdb) i b
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x00000000004004f3 in tmp at space spaces.c:5
(gdb) run
Starting program: /home/user/slask/gdb/a.out 

Breakpoint 1, tmp () at space spaces.c:5
5       printf("%d", a);
(gdb) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...