[sisyphus] Re: GDB/debug info problems

Serge Pavlovsky =?iso-8859-1?q?pal_=CE=C1_interexc=2Ecom?=
Пн Июн 16 23:33:13 MSD 2003


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

оно как раз тривиальное и я же написал что по другому его видно.

[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

-- 
Serge Pavlovsky <pal на interexc.com>



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