[sisyphus] Re: GDB/debug info problems

Mikhail Zabaluev =?iso-8859-1?q?mhz_=CE=C1_altlinux=2Eorg?=
Вт Июн 17 14:34:03 MSD 2003


Hello Serge,

On Mon, Jun 16, 2003 at 10:33:13PM +0300, Serge Pavlovsky wrote:
>
> > > давно надо. у нашего gdb есть еще трабл - посмотреть содержимое string
> > > невозможно при использовании формата по умолчанию. я не помню, это stabs
> > > или dwarf-2, но надо указать другой и тогда все ок.
> > 
> > Это std::string? Так у него содержимое может быть вполне нетривиально :) 
> 
> оно как раз тривиальное и я же написал что по другому его видно.

Правда, -g3 добавляет дополнительную отладочную информацию,
включая макросы. Странно только, что stabs+ оказался "роднее",
чем штатный формат для архитектуры.

> [22:30:51 pal на localhost ~/tmp]$ cat a.cpp
> #include <string>
> int main ( ) {
> 	std :: string s = "123";
> 	return 0;
> }
> [22:30:57 pal на localhost ~/tmp]$ g++ -g3 a.cpp -o a
> [22:31:05 pal на localhost ~/tmp]$ gdb -q a
> (gdb) b 4
> Breakpoint 1 at 0x80485b8: file a.cpp, line 4.
> (gdb) r
> Starting program: /home/pal/tmp/a 
> 
> Breakpoint 1, main () at a.cpp:4
> 4		return 0;
> (gdb) p s
> $1 = {static npos = Cannot access memory at address 0x82b5588
> (gdb) The program is running.  Exit anyway? (y or n) y
> [22:31:20 pal на localhost ~/tmp]$ g++ -g3 -gstabs+ a.cpp -o a
> [22:31:26 pal на localhost ~/tmp]$ gdb -q a
> (gdb) b 4
> Breakpoint 1 at 0x80485b8: file a.cpp, line 4.
> (gdb) r
> Starting program: /home/pal/tmp/a 
> 
> Breakpoint 1, main () at a.cpp:4
> 4		return 0;
> (gdb) p s
> $1 = {static npos = 4294967295, _M_dataplus = {<allocator<char>> = {<No
> data fields>}, _M_p = 0x804987c "123"}, 
>   static _S_empty_rep_storage = {0, 0, 0, 0}}
> (gdb) The program is running.  Exit anyway? (y or n) y

-- 
Stay tuned,
  MhZ                                     JID: mhz на altlinux.org
___________
Humpty Dumpty was pushed.


Подробная информация о списке рассылки Sisyphus