Bug #12944 2008-01-15 21:18

kvi

[Bug #12913] Rev.4789 Not correctly fixed.

1. The pid child process = 0 inasmuch as output gdb not contain : // gdb: do_initial_child_stuff: process.

To this fixed (Windows only), it I has modify source in a file gdb_driver.cpp  (line 716-726): 

 Origin:
---------
   if (platform::windows && want_debug_events && output.Contains(_T("do_initial_child_stuff")))
    {
        // got the line with the PID, parse it out:
        // e.g.
        // gdb: do_initial_child_stuff: process 1392
        if (reChildPid.Matches(output))
        {
            wxString pidStr = reChildPid.GetMatch(output, 1);

Modify to:
------------
if (platform::windows && want_debug_events && output.Contains(_T("CREATE_PROCESS_DEBUG_EVENT")))
    {
        static wxRegEx reChildPid2(_T("gdb: kernel event for pid=([0-9]+)"));
        // got the line with the PID, parse it out:
        // e.g.
        // gdb: do_initial_child_stuff: process 1392
        if (reChildPid2.Matches(output))
        {
            wxString pidStr = reChildPid2.GetMatch(output, 1);


See Debugger(debug).log : 
----------------------------------------------------
PATH=.;D:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE;D:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN;D:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools;D:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\bin;D:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\bin;D:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\bin;D:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;D:\Program Files (x86)\Microsoft Visual Studio 8\VC\VCPackages;D:\MinGW\bin;D:\MinGW\mingw32\bin;D:\MAK\makRti3.2\bin;D:\MAK\makRti3.2\lib_;D:\WINDOWS\system32;D:\WINDOWS;D:\WINDOWS\System32\Wbem;D:\WINDOWS\MsNfs\;D:\Program Files (x86)\doxygen\bin;D:\PROGRA~2\ATT\Graphviz\bin_;D:\Program Files (x86)\VisualSVN Server\bin;d:\moz_tools\bin_;d:\cygwin\bin_
Command-line: D:\MinGW\bin\gdb.exe -nx -fullname  -quiet -args bin/Debug/cons.exe
Working dir : E:\CBW\cons\
> set prompt >>>>>>cb_gdb:
(gdb) 
>>>>>>cb_gdb:
> show version
GNU gdb 6.7.50.20071127
Copyright (C) 2007 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-pc-mingw32".
>>>>>>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 debugevents on
>>>>>>cb_gdb:
> set new-console on
>>>>>>cb_gdb:
> set disassembly-flavor att
>>>>>>cb_gdb:
> directory E:/CBW/cons/
>>>>>>cb_gdb:
> run
gdb: win32_init_thread_list
gdb: kernel event for pid=1400 tid=4388 code=CREATE_PROCESS_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=UNLOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=UNLOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=UNLOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=UNLOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=EXCEPTION_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=f70 code=CREATE_THREAD_DEBUG_EVENT)
gdb: kernel event for pid=1400 tid=4388 code=LOAD_DLL_DEBUG_EVENT)
----------------------------------------------------

2. In Linux: message error  “Unable to stop debuggin process.”. The same symptoms : The pid child process =  0;

3. Re: On change active threads at debugging, the context of a stack in a window of display does not change.

At the first start of debugging of switching between streams work once. Then switching of contexts any more do not work without reopen displaed windows.

Category
Debugger
Group
 
Status
Closed
Close date
2008-02-02 11:59
Assigned to
 
mandrav 2008-02-02 11:59

This bug is now fixed in HEAD.

Thank you for reporting it.