1. I'm just used to do this, it works well.
2. Yes, see:
4. Can work in the trunk (same with gdb commands)
3. see:
PATH=.;D:\DengYC\DEBUGBRANCH\sdk\wx\lib\gcc_dll;D:\DengYC\DEBUGBRANCH\build\gcc\bin;D:\DengYC\DEBUGBRANCH\tool;D:\DengYC\DEBUGBRANCH\tool\svn;D:\DengYC\DEBUGBRANCH\tool\vctool;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\TortoiseSVN\bin
Command-line: D:\DengYC\DEBUGBRANCH\build\gcc\bin\gdb.exe -nx -fullname -quiet -args bin/cmd.exe
Working dir : D:\DengYC\gdbpython-demo\
> set prompt >>>>>>cb_gdb:
Reading symbols from D:\DengYC\gdbpython-demo/bin/cmd.exe...done.
(gdb) >>>>>>cb_gdb:
> show version
GNU gdb (GDB) 7.2.50.20101012
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
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-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
>>>>>>cb_gdb:
> set confirm off
>>>>>>cb_gdb:
> set width 0
>>>>>>cb_gdb:
> set height 0
>>>>>>cb_gdb:
> set breakpoint pending on
>>>>>>cb_gdb:
> set print asm-demangle on
>>>>>>cb_gdb:
> set unwindonsignal on
>>>>>>cb_gdb:
> set print elements -1
>>>>>>cb_gdb:
> set debugevents on
>>>>>>cb_gdb:
> set new-console on
>>>>>>cb_gdb:
> set disassembly-flavor intel
>>>>>>cb_gdb:
> catch throw
Catchpoint 1 (throw)
>>>>>>cb_gdb:
> source D:\DengYC\DEBUGBRANCH\share\codeblocks/scripts/stl-views-1.0.3.gdb
>>>>>>cb_gdb:
> source D:\DengYC\DEBUGBRANCH\build\gcc\bin\stl.gdb
source D:\DengYC\DEBUGBRANCH\build\gcc\bin\wx.gdb
>>>>>>cb_gdb:
> directory D:/DengYC/gdbpython-demo/
>>>>>>cb_gdb:>>>>>>cb_gdb:
> tbreak "D:/DengYC/gdbpython-demo/main.cpp:15"
Temporary breakpoint 2 at 0x4013ee: file D:\DengYC\gdbpython-demo\main.cpp, line 15.
>>>>>>cb_gdb:
> run
gdb: windows_init_thread_list
[New Thread 3880.0xf1c]
Temporary breakpoint 2, main () at D:\DengYC\gdbpython-demo\main.cpp:15
D:\DengYC\gdbpython-demo\main.cpp:15:159:beg:0x4013ee
>>>>>>cb_gdb:
> set debugevents off
>>>>>>cb_gdb:
> bt 30
#0 main () at D:\DengYC\gdbpython-demo\main.cpp:15
>>>>>>cb_gdb:
> next
D:\DengYC\gdbpython-demo\main.cpp:16:193:beg:0x401405
>>>>>>cb_gdb:
> bt 30
#0 main () at D:\DengYC\gdbpython-demo\main.cpp:16
>>>>>>cb_gdb:
> next
D:\DengYC\gdbpython-demo\main.cpp:17:218:beg:0x40141c
>>>>>>cb_gdb:
> bt 30
#0 main () at D:\DengYC\gdbpython-demo\main.cpp:17
>>>>>>cb_gdb:
> whatis &wxStr
type = wxString *
>>>>>>cb_gdb:
> output /c wxStr.m_pchData[0]@((wxStringData*)wxStr.m_pchData - 1)->nDataLength
{119 'w', 120 'x', 83 'S', 116 't', 114 'r', 105 'i', 110 'n', 103 'g', 32 ' ', 86 'V', 97 'a', 108 'l', 117 'u', 101 'e'}>>>>>>cb_gdb:
> set variable wxStr=L"aaa"
>>>>>>cb_gdb:
> whatis &wxStr
type = wxString *
>>>>>>cb_gdb:
> output /c wxStr.m_pchData[0]@((wxStringData*)wxStr.m_pchData - 1)->nDataLength
Cannot access memory at address 0xb694a8
>>>>>>cb_gdb:
> p wxStr=L"aaa"
$1 = "aaa"
>>>>>>cb_gdb:
> next
D:\DengYC\gdbpython-demo\main.cpp:18:258:beg:0x40145c
>>>>>>cb_gdb:
> whatis &wxStr
type = wxString *
>>>>>>cb_gdb:
> output /c wxStr.m_pchData[0]@((wxStringData*)wxStr.m_pchData - 1)->nDataLength
Cannot access memory at address 0xb69560
>>>>>>cb_gdb:
> bt 30
#0 main () at D:\DengYC\gdbpython-demo\main.cpp:18
>>>>>>cb_gdb:
> next
D:\DengYC\gdbpython-demo\main.cpp:19:288:beg:0x401491
>>>>>>cb_gdb:
> whatis &wxStr
type = wxString *
>>>>>>cb_gdb:
> output /c wxStr.m_pchData[0]@((wxStringData*)wxStr.m_pchData - 1)->nDataLength
Cannot access memory at address 0xb69560
>>>>>>cb_gdb:
> bt 30
#0 main () at D:\DengYC\gdbpython-demo\main.cpp:19
>>>>>>cb_gdb:
> whatis &stdStr
type = std::string *
>>>>>>cb_gdb:
> output stdStr
"std::string value">>>>>>cb_gdb:
> p stdStr=L"bbb"
$2 = ""
>>>>>>cb_gdb:
> next
D:\DengYC\gdbpython-demo\main.cpp:20:323:beg:0x40149d
>>>>>>cb_gdb:
> whatis &wxStr
type = wxString *
>>>>>>cb_gdb:
> output /c wxStr.m_pchData[0]@((wxStringData*)wxStr.m_pchData - 1)->nDataLength
Cannot access memory at address 0xb69560
>>>>>>cb_gdb:
> whatis &stdStr
type = std::string *
>>>>>>cb_gdb:
> output stdStr
"">>>>>>cb_gdb:
> bt 30
#0 main () at D:\DengYC\gdbpython-demo\main.cpp:20
>>>>>>cb_gdb:
> next
D:\DengYC\gdbpython-demo\main.cpp:21:342:beg:0x4014cf
>>>>>>cb_gdb:
> whatis &wxStr
type = wxString *
>>>>>>cb_gdb:
> output /c wxStr.m_pchData[0]@((wxStringData*)wxStr.m_pchData - 1)->nDataLength
Cannot access memory at address 0xb69560
>>>>>>cb_gdb:
> whatis &stdStr
type = std::string *
>>>>>>cb_gdb:
> output stdStr
"">>>>>>cb_gdb:
> bt 30
#0 main () at D:\DengYC\gdbpython-demo\main.cpp:21
>>>>>>cb_gdb:
> next
D:\DengYC\gdbpython-demo\main.cpp:22:361:beg:0x401501
>>>>>>cb_gdb:
> whatis &wxStr
type = wxString *
>>>>>>cb_gdb:
> output /c wxStr.m_pchData[0]@((wxStringData*)wxStr.m_pchData - 1)->nDataLength
Cannot access memory at address 0xb69560
>>>>>>cb_gdb:
> whatis &stdStr
type = std::string *
>>>>>>cb_gdb:
> output stdStr
"">>>>>>cb_gdb:
> bt 30
#0 main () at D:\DengYC\gdbpython-demo\main.cpp:22
>>>>>>cb_gdb:
> next
D:\DengYC\gdbpython-demo\main.cpp:23:394:beg:0x40150f
>>>>>>cb_gdb:
> whatis &wxStr
type = wxString *
>>>>>>cb_gdb:
> output /c wxStr.m_pchData[0]@((wxStringData*)wxStr.m_pchData - 1)->nDataLength
Cannot access memory at address 0xb69560
>>>>>>cb_gdb:
> whatis &stdStr
type = std::string *
>>>>>>cb_gdb:
> output stdStr
"">>>>>>cb_gdb:
> bt 30
#0 main () at D:\DengYC\gdbpython-demo\main.cpp:23
>>>>>>cb_gdb:
> whatis wxStr
type = wxString
>>>>>>cb_gdb:
> output &wxStr
(wxString *) 0x22feb4>>>>>>cb_gdb:
> output /c wxStr.m_pchData[0]@((wxStringData*)wxStr.m_pchData - 1)->nDataLength
Cannot access memory at address 0xb69560
>>>>>>cb_gdb:
> whatis wxStrRef
Attempt to take contents of a non-pointer value.
>>>>>>cb_gdb:
> output wxStrRef
"aaa">>>>>>cb_gdb:
> output wxStrRef
"aaa">>>>>>cb_gdb:
> output wxStrRef
"aaa">>>>>>cb_gdb:
> p wxStrRef
$3 = "aaa"
>>>>>>cb_gdb:
> next
Program received signal SIGSEGV, Segmentation fault.
0x77c17098 in msvcrt!memcpy () from C:\WINDOWS\system32\msvcrt.dll
>>>>>>cb_gdb:
> whatis &wxStr
No symbol "wxStr" in current context.
>>>>>>cb_gdb:
> output wxStr
No symbol "wxStr" in current context.
>>>>>>cb_gdb:
> whatis &stdStr
No symbol "stdStr" in current context.
>>>>>>cb_gdb:
> output stdStr
No symbol "stdStr" in current context.
>>>>>>cb_gdb:
> bt 30
#0 0x77c17098 in msvcrt!memcpy () from C:\WINDOWS\system32\msvcrt.dll
#1 0x684cffb6 in wxmsw28u!_ZN12wxStringBase10ConcatSelfEjPKwj () from D:\DengYC\DEBUGBRANCH\sdk\wx\lib\gcc_dll\wxmsw28u.dll
#2 0x0040e768 in wxStringBase::ConcatSelf (this=0x22feb4, nLen=4, src=0x4170a2 L" Ref") at D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:287
#3 0x0040e793 in wxStringBase::append (this=0x22feb4, sz=0x4170a2 L" Ref") at D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:448
#4 0x0040e7fc in wxStringBase::operator+= (this=0x22feb4, psz=0x4170a2 L" Ref") at D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:647
#5 0x0040e8c0 in wxString::operator+= (this=0x22feb4, psz=0x4170a2 L" Ref") at D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:1411
#6 0x00401526 in main () at D:\DengYC\gdbpython-demo\main.cpp:23
>>>>>>cb_gdb:
> frame 2
#2 0x0040e768 in wxStringBase::ConcatSelf (this=0x22feb4, nLen=4, src=0x4170a2 L" Ref") at D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:287
D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:287:9436:beg:0x40e768
>>>>>>cb_gdb:
> whatis &wxStr
No symbol "wxStr" in current context.
>>>>>>cb_gdb:
> output wxStr
No symbol "wxStr" in current context.
>>>>>>cb_gdb:
> whatis &stdStr
No symbol "stdStr" in current context.
>>>>>>cb_gdb:
> output stdStr
No symbol "stdStr" in current context.
>>>>>>cb_gdb:
> bt 30
#0 0x77c17098 in msvcrt!memcpy () from C:\WINDOWS\system32\msvcrt.dll
#1 0x684cffb6 in wxmsw28u!_ZN12wxStringBase10ConcatSelfEjPKwj () from D:\DengYC\DEBUGBRANCH\sdk\wx\lib\gcc_dll\wxmsw28u.dll
#2 0x0040e768 in wxStringBase::ConcatSelf (this=0x22feb4, nLen=4, src=0x4170a2 L" Ref") at D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:287
#3 0x0040e793 in wxStringBase::append (this=0x22feb4, sz=0x4170a2 L" Ref") at D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:448
#4 0x0040e7fc in wxStringBase::operator+= (this=0x22feb4, psz=0x4170a2 L" Ref") at D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:647
#5 0x0040e8c0 in wxString::operator+= (this=0x22feb4, psz=0x4170a2 L" Ref") at D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:1411
#6 0x00401526 in main () at D:\DengYC\gdbpython-demo\main.cpp:23
>>>>>>cb_gdb:
> frame 2
#2 0x0040e768 in wxStringBase::ConcatSelf (this=0x22feb4, nLen=4, src=0x4170a2 L" Ref") at D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:287
D:/DengYC/DEBUGBRANCH/sdk/wx/include/wx/string.h:287:9436:beg:0x40e768
>>>>>>cb_gdb:
> whatis stdStrRef
No symbol "stdStrRef" in current context.
>>>>>>cb_gdb:
> output stdStrRef
No symbol "stdStrRef" in current context.
>>>>>>cb_gdb:
> output stdStrRef
No symbol "stdStrRef" in current context.
>>>>>>cb_gdb:
> output stdStrRef
No symbol "stdStrRef" in current context.
>>>>>>cb_gdb: