News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

GDB output parsing error

Started by OsminohejTygr, June 08, 2012, 12:44:14 PM

Previous topic - Next topic

OsminohejTygr

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.next.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.

oBFusCATed

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!]

OsminohejTygr

Thank you for fast reply  :)

There is full log:
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:
{
  static mNoElement = <optimized out>,
  begin = 0x10db7a0,
  end = 0x2c41fa0,
  size = 4
}

oBFusCATed

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!]

OsminohejTygr

Yes it`s working now, showing correct output without the static member. Thank you.

oBFusCATed

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!]

OsminohejTygr

Ok. I`ll try, when I get home tonight  ;)

OsminohejTygr

There is an example code to reproduce the problem. Tested under windows and linux.

#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;
}

oBFusCATed

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!]

OsminohejTygr

Excelent. Thank you very much :)