Author Topic: GDB output parsing error  (Read 12404 times)

Offline OsminohejTygr

  • Multiple posting newcomer
  • *
  • Posts: 12
GDB output parsing error
« on: June 08, 2012, 12:44:14 pm »
Hello. Since debugger branch merge (build 7925) i get "Parsing GDB output failed for '...'!" error when i`m watching some variables. I read thread, where this problem was discused (http://forums.codeblocks.org/index.php/topic,15777.0.html), but it`s still unclear to me. So normal gdb output is still not working or am I missing something? I`m using MinGW with GDB 7.3.1.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13406
    • Travis build status
Re: GDB output parsing error
« Reply #1 on: June 08, 2012, 01:08:57 pm »
Can you paste the full log from the debugger?
Also clicking on the [...] button and holding the ctrl should popup a dialog with the output of the broken watch.
Can you paste it here?

p.s. please use [ code ] tags for pastes.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline OsminohejTygr

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: GDB output parsing error
« Reply #2 on: June 08, 2012, 01:28:00 pm »
Thank you for fast reply  :)

There is full log:
Code
Building to ensure sources are up-to-date
Selecting target:
Debug-Windows
Adding source dir: F:\Development\Projects\Mobius engine\src\
Adding source dir: F:\Development\Projects\Mobius engine\src\
Adding file: F:\Development\Projects\Mobius engine\release\bin\MobiusEngineDEBUG.exe
Changing directory to: F:/DEVELO~1/Projects/MOBIUS~1/release/bin

[debug]PATH=.;F:\Development\Projects\Mobius engine\obj\Debug;F:\Development\CodeBlocksSVN\MinGW\bin;F:\Development\CodeBlocksSVN\MinGW;C:\Program Files (x86)\PC Connectivity Solution;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Windows\System32\WINDOWSPOWERSHELL\v1.0;\;C:\PROGRAM FILES\Broadcom\WHL;C:\PROGRAM FILES\Broadcom\WHL\SysWow64;C:\Program Files\Broadcom\WHL\SysWow64\SYSWOW64;C:\PROGRAM FILES\Intel\WiFi\bin;C:\PROGRAM FILES\COMMON FILES\Intel\WIRELESSCOMMON;C:\PROGRAM FILES (X86)\COMMON FILES\Lenovo;C:\SWTOOLS\READYAPPS;C:\PROGRAM FILES (X86)\Lenovo\ACCESS CONNECTIONS;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\DTS\Binn;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn
[debug]Command-line: F:\Development\CodeBlocksSVN\MINGW\bin\gdb.exe -nx -fullname  -quiet  -args F:/DEVELO~1/Projects/MOBIUS~1/release/bin/MOBIUS~1.EXE
[debug]Working dir : F:\DEVELO~1\Projects\MOBIUS~1\release\bin

Starting debugger: F:\Development\CodeBlocksSVN\MINGW\bin\gdb.exe -nx -fullname  -quiet  -args F:/DEVELO~1/Projects/MOBIUS~1/release/bin/MOBIUS~1.EXE
done

[debug]> set prompt >>>>>>cb_gdb:

Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints

[debug]Reading symbols from f:\develo~1\projects\mobius~1\release\bin\MOBIUS~1.EXE...
[debug]done.
[debug](gdb) >>>>>>cb_gdb:
[debug]> show version
[debug]GNU gdb (GDB) 7.3.1
[debug]Copyright (C) 2011 Free Software Foundation, Inc.
[debug]License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
[debug]This is free software: you are free to change and redistribute it.
[debug]There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
[debug]and "show warranty" for details.
[debug]This GDB was configured as "mingw32".
[debug]For bug reporting instructions, please see:
[debug]<http://www.gnu.org/software/gdb/bugs/>.
[debug]>>>>>>cb_gdb:
[debug]> set confirm off

Debugger name and version: GNU gdb (GDB) 7.3.1

[debug]>>>>>>cb_gdb:
[debug]> set width 0
[debug]>>>>>>cb_gdb:
[debug]> set height 0
[debug]>>>>>>cb_gdb:
[debug]> set breakpoint pending on
[debug]>>>>>>cb_gdb:
[debug]> set print asm-demangle on
[debug]>>>>>>cb_gdb:
[debug]> set unwindonsignal on
[debug]>>>>>>cb_gdb:
[debug]> set print elements 0
[debug]>>>>>>cb_gdb:
[debug]> set disassembly-flavor att
[debug]>>>>>>cb_gdb:
[debug]> catch throw
[debug]Catchpoint 1 (throw)
[debug]>>>>>>cb_gdb:
[debug]> source F:\Development\CodeBlocksSVN\share\codeblocks/scripts/stl-views-1.0.3.gdb
[debug]>>>>>>cb_gdb:
[debug]> directory F:/DEVELO~1/Projects/MOBIUS~1/src/
[debug]>>>>>>cb_gdb:
[debug]> break "F:/Development/Projects/Mobius engine/src/Implementation/NAV/CNAVGame.cpp:230"
[debug]Breakpoint 2 at 0x4094d4: file F:\Development\Projects\Mobius engine\src\Implementation\NAV\CNAVGame.cpp, line 230.
[debug]>>>>>>cb_gdb:
[debug]> run

Child process PID: 3760

[debug][New Thread 3760.0x8ec]
[debug][New Thread 3760.0x128]
[debug][New Thread 3760.0x123c]
[debug][New Thread 3760.0x12f4]
[debug][New Thread 3760.0x1490]
[debug][New Thread 3760.0x8a4]
[debug][New Thread 3760.0x7e8]
[debug][New Thread 3760.0x1ec]
[debug][New Thread 3760.0x149c]
[debug][New Thread 3760.0x1434]
[debug][New Thread 3760.0xc4c]
[debug][New Thread 3760.0x1df8]
[debug][New Thread 3760.0x1b60]
[debug][New Thread 3760.0x1918]
[debug][New Thread 3760.0x1e9c]
[debug][New Thread 3760.0x1c10]
[debug][New Thread 3760.0x1678]
[debug][New Thread 3760.0x1edc]
[debug]Breakpoint 2, Implementation::CNAV::RunGame (this=0x28f858) at F:\Development\Projects\Mobius engine\src\Implementation\NAV\CNAVGame.cpp:230
[debug]f:\development\projects\mobius engine\src\implementation\nav\cnavgame.cpp:230:15092:beg:0x4094d4
[debug]>>>>>>cb_gdb:

At f:\development\projects\mobius engine\src\implementation\nav\cnavgame.cpp:230

[debug]> whatis this->layers
[debug]type = Engine::CList<Engine::World::CLayer>
[debug]>>>>>>cb_gdb:
[debug]> output this->layers
[debug]{
[debug]  static mNoElement = <optimized out>,
[debug]  begin = 0x138b7a0,
[debug]  end = 0x2921fa0,
[debug]  size = 4
[debug]}>>>>>>cb_gdb:

there is output for broken variable:
Code
{
  static mNoElement = <optimized out>,
  begin = 0x10db7a0,
  end = 0x2c41fa0,
  size = 4
}

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13406
    • Travis build status
Re: GDB output parsing error
« Reply #3 on: June 08, 2012, 01:35:06 pm »
Can you try to put "set print static-members 0" in the initial commands in the settings and to try again?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline OsminohejTygr

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: GDB output parsing error
« Reply #4 on: June 08, 2012, 01:44:07 pm »
Yes it`s working now, showing correct output without the static member. Thank you.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13406
    • Travis build status
Re: GDB output parsing error
« Reply #5 on: June 08, 2012, 08:21:57 pm »
OsminohejTygr:
Can you make a simple test cpp file, which can be used to reproduces the bug?
I've tried with a simple structure, but it doesn't fail :(
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline OsminohejTygr

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: GDB output parsing error
« Reply #6 on: June 11, 2012, 05:16:26 pm »
Ok. I`ll try, when I get home tonight  ;)

Offline OsminohejTygr

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: GDB output parsing error
« Reply #7 on: June 11, 2012, 06:51:12 pm »
There is an example code to reproduce the problem. Tested under windows and linux.

Code
#include <iostream>

template <class V>
class CTestClass
{
    private:
        const static int mVar = 1;
        V mValue;

    public:
        CTestClass(const V& aValue):
            mValue(aValue)
        {
        }

        void PrintValue()
        {
            std::cout << this->mValue << std::endl;
        }
};

int main(int argv, char** argc)
{
    CTestClass<int> lTestClassInst(3);
    lTestClassInst.PrintValue(); // set breakpoint here and watch lTestClassInst
    return 0;
}

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13406
    • Travis build status
Re: GDB output parsing error
« Reply #8 on: June 12, 2012, 12:56:33 am »
Thanks, should be fixed in the rev 8037 and in the next nightly build.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline OsminohejTygr

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: GDB output parsing error
« Reply #9 on: June 12, 2012, 08:05:45 am »
Excelent. Thank you very much :)