D2 и GDB выпуск - PullRequest
       4

D2 и GDB выпуск

4 голосов
/ 25 января 2011



Короткий вопрос: есть ли поддержка D2 в gdb (у меня есть gdb 7.2)?

Длинная история: я скомпилировал следующее маленькое приложение ...


// file main.d
int glVar = 0xAAAAAAAA;

void main()
{ 
 glVar = 0xBBBBBBBB; 
}

... используя команду "dmd -gc -debug main.d";
затем я загружаю его в gdb и пытаюсь его отладить:

vnm@vnm:~/proj/d_gdb_test$ gdb main
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 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 "i686-linux-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /home/vnm/proj/d_gbb_test/main...done.
(gdb) b main
Breakpoint 1 at 0x804b667
(gdb) r
Starting program: /home/vnm/proj/d_gbb_test/main 
[Thread debugging using libthread_db enabled]

Breakpoint 1, 0x0804b667 in main ()
(gdb) info line
No line number information available.
(gdb) info variables glVar
All variables matching regular expression "glVar":

File main.d:
int _D4main5glVari;

Почему GDB не может отображать информацию о строке и почему он отображает символы в искаженной форме? Это программное обеспечение или я что-то не так делаю?

1 Ответ

4 голосов
/ 25 января 2011

GDB поддерживает D, начиная с версии 7.2. Таким образом, вы можете отлаживать программы D с помощью gdb 7.2.

Так вот, это не значит, что поддержка идеальна - отнюдь нет Например, я не уверен, что вы можете заставить его правильно печатать строки. И это совсем не удивительно, если не разобрать символы D. Итак, это работает, но это далеко от совершенства.

...