Author Topic: Splitting debugger in two - specific debugger and common GUI  (Read 430734 times)

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #630 on: January 30, 2012, 06:56:06 am »
So, you're saying that calling "set debugevents off" doesn't remove the messages?
Yes, they don't. They only disappear if you work with C::B and the UpdateUI event is not triggered which happens, for example, if you hover over a menu. But what does disappear are other debug messages.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #631 on: January 30, 2012, 09:12:11 am »
I guess you're talking about the debugged instance of C::B and UpdateUI, aren't you?
Can you post the full log?
(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 MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #632 on: January 30, 2012, 11:04:04 am »
I guess you're talking about the debugged instance of C::B and UpdateUI, aren't you?
Yes.

Can you post the full log?
Will do, once I get back to the PC where I tried that. So it may take a while... remind me in a few days if I forgot. ;-)
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline tomjnx

  • Multiple posting newcomer
  • *
  • Posts: 34
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #633 on: January 30, 2012, 04:31:01 pm »
What is Debug->Add symbol file supposed to do?

It doesn't do anything for me, nor does a grep for idMenuAddSymbolFile return any event handler...

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #634 on: January 30, 2012, 04:36:07 pm »
It is something left from the past. I'm not sure what it was doing and thats why I've not removed the item.
(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 tomjnx

  • Multiple posting newcomer
  • *
  • Posts: 34
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #635 on: January 30, 2012, 04:43:49 pm »
How to crash the debugger plugin / C::B:

Open a project, set a breakpoint, start debugging
Edit the breakpoint, add a condition with a symbol that does not exist
Now a message box pops up asking you whether you want to convert the breakpoint into an unconditional one
Kill gdb
Click on either the yes or no button of the popup dialog
Watch the fireworks.

What happens is the following:
Gdb outputs a string saying it doesn't like the condition
OnGDBOutput is called
ParseOutput is called
the cbMessageBox is opened deeply down the call stack of ParseOutput
Now cbMessageBox apparently starts to handle events
gdb terminating causes an event that causes OnGDBTerminated to be called
OnGDBTerminated deallocates the debugger driver (even though code of the debugger driver still runs)

I haven't had an easy + somewhat clean idea on how to fix this... In the end I removed HasDriver, but added LockDriver and UnlockDriver. LockDriver still returns a value indicating whether there is a driver, but if there is, also increments a use counter. Terminate then does not deallocate the driver, but only sets a flag. UnlockDriver then decrements the use counter, and if it reaches zero, checks the terminate flag and does the deallocation if the flag is set. All calls to m_State.GetDriver() need to be surrounded with LockDriver() and UnlockDriver(). Also, there needs to be some buffering to prevent ParseOutput to be reentered...

Is it worth fixing? Dunno. It was definitely unexpected when I hacked the code...

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #636 on: January 30, 2012, 06:07:58 pm »
Is it worth fixing? Dunno. It was definitely unexpected when I hacked the code...
No, I've switched all my energy to gdb/mi plugin. The current plugin is lost battle. It works, but it will never be stable and fast.
(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 killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #637 on: January 30, 2012, 07:20:14 pm »
since last weeks changes (debugger plugin // cc plugin) : failing to build :
[even did make clean up to .configure]

Code
make[4]: *** No rule to make target `ccdebuginfo.cpp', needed by `ccdebuginfo.lo'.  

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #638 on: January 30, 2012, 07:46:18 pm »
since last weeks changes (debugger plugin // cc plugin) : failing to build :
[even did make clean up to .configure]

Code
make[4]: *** No rule to make target `ccdebuginfo.cpp', needed by `ccdebuginfo.lo'.  
I just installed the debugger-branch from my repo, build today (r7736) without pproblems.

Did you run ./bootstrap ?
As far as I know, there are changes in one or more Makefile.am's.
If that's the case the Makefile.in's have to be recreated by (re-)running ./bootstrap .

If that does not work a make distclean before ./bootstrap might help .

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #639 on: January 30, 2012, 08:31:54 pm »
killerbot:
I knew, you'll report this problem :)
"make distclean" is needed in this case. I don't know why.

I suggest to start building in a separate directory and before every build to run rm -rf mybuild_folder.
See this post for details how to do it: http://forums.codeblocks.org/index.php/topic,15840.msg106624.html#msg106624
(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 MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #640 on: January 30, 2012, 09:01:17 pm »
"make distclean" is needed in this case. I don't know why.
May I say something: This autofoo simply sucks. Maybe we should  use cmake on Linux distros...
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #641 on: January 30, 2012, 09:30:27 pm »
"make distclean" is needed in this case. I don't know why.
May I say something: This autofoo simply sucks. Maybe we should  use cmake on Linux distros...
I think the opposite:
cmake sucks.

Surely a matter of taste.

Please be fair:
in this case it is not an automake, but a user error.

You have moved ccdebuginfo.cpp into another folder, and you have chanegd the appropriate Makefile.am to reflect this change.
But there are artefacts left from former build (all intermediate build-files belong to ccdebuginfo.*, like *.o, *.lo and probably other files), the automake system do not (and can not) know anything about, even if ./bootstrap is run, so they must be either removed manually (or by deleting the whole build-folder, if it is not the source-folder) or by running make distclean.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #642 on: January 30, 2012, 09:37:34 pm »
Can you post the full log?
Here it comes:

...with set debugevents off (wx 2.9.x):

Building to ensure sources are up-to-date
Selecting target:
src
Adding source dir: C:\Devel\CodeBlocks\src\
Adding source dir: C:\Devel\CodeBlocks\src\
Adding file: C:\Devel\CodeBlocks\src\devel29\codeblocks.exe
Changing directory to: C:/Devel/CodeBlocks/src/devel29

[debug]PATH=.;C:\Devel\CodeBlocks\src\base\tinyxml;C:\Devel\wxWidgets_293\lib\gcc_dll;C:\Devel\CodeBlocks\src\devel29;C:\Devel\GCC46TDM\bin;C:\Devel\wxWidgets\lib\gcc_dll_system32;C:\Devel\wxWidgets\lib\gcc_dll_system32
[debug]Command-line: C:\Devel\GCC46TDM\bin\gdb.exe -nx -fullname  -quiet  -args C:/Devel/CodeBlocks/src/devel29/codeblocks.exe
[debug]Working dir : C:\Devel\CodeBlocks\src\devel29

Starting debugger: C:\Devel\GCC46TDM\bin\gdb.exe -nx -fullname  -quiet  -args C:/Devel/CodeBlocks/src/devel29/codeblocks.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 c:\devel\codeblocks\src\devel29\codeblocks.exe...
[debug]done.
[debug](gdb) >>>>>>cb_gdb:
[debug]> show version
[debug]GNU gdb (GDB) 7.3
[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

[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 debugevents on
[debug]>>>>>>cb_gdb:
[debug]> set disassembly-flavor att
[debug]>>>>>>cb_gdb:
[debug]> catch throw
[debug]Catchpoint 1 (throw)
[debug]>>>>>>cb_gdb:
[debug]> source C:\Devel\CodeBlocks\share\codeblocks/scripts/stl-views-1.0.3.gdb
[debug]>>>>>>cb_gdb:
[debug]> set debugevents off
[debug]>>>>>>cb_gdb:
[debug]> directory C:/Devel/CodeBlocks/src/
[debug]>>>>>>cb_gdb:
[debug]> set args --debug-log --no-dde --no-check-associations --multiple-instance --no-splash-screen --verbose --profile=foo
[debug]>>>>>>cb_gdb:
[debug]> run
[debug][New Thread 1832.0x1e00]
[debug][New Thread 1832.0x980]
[debug][New Thread 1832.0x6ac]
[debug][New Thread 1832.0x790]
[debug][New Thread 1832.0x20f8]
[debug][New Thread 1832.0x2340]
[debug][New Thread 1832.0x1cbc]
[debug][New Thread 1832.0x1664]
[debug][New Thread 1832.0x168c]
[debug][New Thread 1832.0x1260]
[debug]warning: ../../src/common/menucmn.cpp(976): assert "item" failed in Enable(): attempt to enable an item which doesn't exist
--> TONS Of THESE!!!
--> IN BETWEEN SOMESTIMES:
[debug]warning: ../../src/common/menucmn.cpp(976): assert "item" failed
[debug] in Enable(): attempt to enable an item which doesn't exist
[debug]warning: ../../src/common/menucmn.cpp(976): assert "item" failed in Enable(): attempt to enable an item which doesn't exist
--> AGAIN:TONS Of THESE!!!
[debug]warning: ../../s
[debug]rc/common/wincmn.cpp(468): assert "GetEventHandler() == this" failed in ~wxWindowBase(): any pushed event handlers must have been removed
[debug]warning: ../../src/common/wincmn.cpp(468): assert "GetEventHandler() == this" failed in ~wxWindowBase(): any pushed event handlers must have been removed
[debug]warning: ../../src/common/wincmn.cpp(1448): assert "Assert failure" failed in RemoveEventHandler(): where has the event handler gone?
[debug]Program received signal SIGSEGV, Segmentation fault.
[debug]0x62c04855 in ?? () from c:\devel\codeblocks\src\devel29\wxmsw293u_gcc_custom.dll
[debug]>>>>>>cb_gdb:

Program received signal SIGSEGV, Segmentation fault.
In ?? () (c:\devel\codeblocks\src\devel29\wxmsw293u_gcc_custom.dll)

[debug]> bt 30
[debug]#0  0x62c04855 in ?? () from c:\devel\codeblocks\src\devel29\wxmsw293u_gcc_custom.dll
[debug]#1  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d3c790, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
[debug]#2  0x01737a2d in LogSlot::~LogSlot (this=0x12a5c7c, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:35
[debug]#3  0x017381ae in LogManager::~LogManager (this=0x12a5bd0, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:79
[debug]#4  0x017382b1 in LogManager::~LogManager (this=0x12a5bd0, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:83
[debug]#5  0x019bf268 in Mgr<LogManager>::Free () at C:/Devel/CodeBlocks/src/include/manager.h:196
[debug]#6  0x017d7d7b in Manager::Shutdown () at C:\Devel\CodeBlocks\src\sdk\manager.cpp:158
[debug]#7  0x00489b1c in MainFrame::OnApplicationClose (this=0x70454a0, event=...) at C:\Devel\CodeBlocks\src\src\main.cpp:3036
[debug]#8  0x62a03c0a in ?? () from c:\devel\codeblocks\src\devel29\wxmsw293u_gcc_custom.dll
[debug]#9  0x00000000 in ?? ()
[debug]>>>>>>cb_gdb:
[debug]> frame 1
[debug]#1  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d3c790, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
[debug]c:\devel\codeblocks\src\plugins\compilergcc\compilermessages.cpp:45:1167:beg:0xa258e57
[debug]>>>>>>cb_gdb:

#1  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d3c790, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
c:\devel\codeblocks\src\plugins\compilergcc\compilermessages.cpp:45:1167:beg:0xa258e57
At c:\devel\codeblocks\src\plugins\compilergcc\compilermessages.cpp:45

[debug]> bt 30
[debug]#0  0x62c04855 in ?? () from c:\devel\codeblocks\src\devel29\wxmsw293u_gcc_custom.dll
[debug]#1  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d3c790, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
[debug]#2  0x01737a2d in LogSlot::~LogSlot (this=0x12a5c7c, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:35
[debug]#3  0x017381ae in LogManager::~LogManager (this=0x12a5bd0, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:79
[debug]#4  0x017382b1 in LogManager::~LogManager (this=0x12a5bd0, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:83
[debug]#5  0x019bf268 in Mgr<LogManager>::Free () at C:/Devel/CodeBlocks/src/include/manager.h:196
[debug]#6  0x017d7d7b in Manager::Shutdown () at C:\Devel\CodeBlocks\src\sdk\manager.cpp:158
[debug]#7  0x00489b1c in MainFrame::OnApplicationClose (this=0x70454a0, event=...) at C:\Devel\CodeBlocks\src\src\main.cpp:3036
[debug]#8  0x62a03c0a in ?? () from c:\devel\codeblocks\src\devel29\wxmsw293u_gcc_custom.dll
[debug]#9  0x00000000 in ?? ()
[debug]>>>>>>cb_gdb:
[debug]> frame 1
[debug]#1  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d3c790, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
[debug]c:\devel\codeblocks\src\plugins\compilergcc\compilermessages.cpp:45:1167:beg:0xa258e57
[debug]>>>>>>cb_gdb:

#1  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d3c790, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
c:\devel\codeblocks\src\plugins\compilergcc\compilermessages.cpp:45:1167:beg:0xa258e57


...with set debugevents on (wx 2.9.x):

Building to ensure sources are up-to-date
Selecting target:
src
Adding source dir: C:\Devel\CodeBlocks\src\
Adding source dir: C:\Devel\CodeBlocks\src\
Adding file: C:\Devel\CodeBlocks\src\devel29\codeblocks.exe
Changing directory to: C:/Devel/CodeBlocks/src/devel29

[debug]PATH=.;C:\Devel\CodeBlocks\src\base\tinyxml;C:\Devel\wxWidgets_293\lib\gcc_dll;C:\Devel\CodeBlocks\src\devel29;C:\Devel\GCC46TDM\bin;C:\Devel\wxWidgets\lib\gcc_dll_system32;C:\Devel\wxWidgets\lib\gcc_dll_system32
[debug]Command-line: C:\Devel\GCC46TDM\bin\gdb.exe -nx -fullname  -quiet  -args C:/Devel/CodeBlocks/src/devel29/codeblocks.exe
[debug]Working dir : C:\Devel\CodeBlocks\src\devel29

Starting debugger: C:\Devel\GCC46TDM\bin\gdb.exe -nx -fullname  -quiet  -args C:/Devel/CodeBlocks/src/devel29/codeblocks.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 c:\devel\codeblocks\src\devel29\codeblocks.exe...
[debug]done.
[debug](gdb) >>>>>>cb_gdb:
[debug]> show version
[debug]GNU gdb (GDB) 7.3
[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

[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 debugevents on
[debug]>>>>>>cb_gdb:
[debug]> set disassembly-flavor att
[debug]>>>>>>cb_gdb:
[debug]> catch throw
[debug]Catchpoint 1 (throw)
[debug]>>>>>>cb_gdb:
[debug]> source C:\Devel\CodeBlocks\share\codeblocks/scripts/stl-views-1.0.3.gdb
[debug]>>>>>>cb_gdb:
[debug]> directory C:/Devel/CodeBlocks/src/
[debug]>>>>>>cb_gdb:
[debug]> set args --debug-log --no-dde --no-check-associations --multiple-instance --no-splash-screen --verbose --profile=foo
[debug]>>>>>>cb_gdb:
[debug]> run
[debug]gdb: windows_init_thread_list

Child process PID: 7920

[debug][New Thread 7920.0x56c]
[debug][New Thread 7920.0x20cc]
[debug][New Thread 7920.0xa7c]
[debug][New Thread 7920.0xad8]
[debug][New Thread 7920.0x11c]
[debug][New Thread 7920.0xee4]
[debug][New Thread 7920.0x97c]
[debug][New Thread 7920.0xc44]
[debug][New Thread 7920.0x2324]
[debug][New Thread 7920.0x1080]
[debug]warning: ../../src/common/menucmn.cpp(976): assert "item" failed in Enable(): attempt to enable an item which doesn't exist
--> TONS Of THESE!!!
[debug]warning: ../../src/common/wincmn.cpp(468): assert "GetEventHandler() == this" failed in ~wxWindowBase(): any pushed event handlers must have been removed
[debug]warning: ../../src/common/wincmn.cpp(468): assert "GetEventHandler() == this" failed in ~wxWindowBase(): any pushed event handlers must have been removed
[debug]warning: ../../src/common/wincmn.cpp(1448): assert "Assert failure" failed in RemoveEventHandler(): where has the event handler gone?
[debug]Program received signal SIGSEGV, Segmentation fault.
[debug]0x49444f43 in ?? ()
[debug]>>>>>>cb_gdb:

Program received signal SIGSEGV, Segmentation fault.
In ?? () ()

[debug]> set debugevents off
[debug]>>>>>>cb_gdb:
[debug]> bt 30
[debug]#0  0x49444f43 in ?? ()
[debug]#1  0x62c04858 in ?? () from c:\devel\codeblocks\src\devel29\wxmsw293u_gcc_custom.dll
[debug]#2  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d4b000, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
[debug]#3  0x01437a2d in LogSlot::~LogSlot (this=0x68b5c7c, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:35
[debug]#4  0x014381ae in LogManager::~LogManager (this=0x68b5bd0, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:79
[debug]#5  0x014382b1 in LogManager::~LogManager (this=0x68b5bd0, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:83
[debug]#6  0x016bf268 in Mgr<LogManager>::Free () at C:/Devel/CodeBlocks/src/include/manager.h:196
[debug]#7  0x014d7d7b in Manager::Shutdown () at C:\Devel\CodeBlocks\src\sdk\manager.cpp:158
[debug]#8  0x00489b1c in MainFrame::OnApplicationClose (this=0x6ef54a0, event=...) at C:\Devel\CodeBlocks\src\src\main.cpp:3036
[debug]#9  0x62a03c0a in ?? () from c:\devel\codeblocks\src\devel29\wxmsw293u_gcc_custom.dll
[debug]#10 0x00000000 in ?? ()
[debug]>>>>>>cb_gdb:
[debug]> frame 2
[debug]#2  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d4b000, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
[debug]c:\devel\codeblocks\src\plugins\compilergcc\compilermessages.cpp:45:1167:beg:0xa258e57
[debug]>>>>>>cb_gdb:

#2  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d4b000, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
c:\devel\codeblocks\src\plugins\compilergcc\compilermessages.cpp:45:1167:beg:0xa258e57
At c:\devel\codeblocks\src\plugins\compilergcc\compilermessages.cpp:45

[debug]> bt 30
[debug]#0  0x49444f43 in ?? ()
[debug]#1  0x62c04858 in ?? () from c:\devel\codeblocks\src\devel29\wxmsw293u_gcc_custom.dll
[debug]#2  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d4b000, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
[debug]#3  0x01437a2d in LogSlot::~LogSlot (this=0x68b5c7c, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:35
[debug]#4  0x014381ae in LogManager::~LogManager (this=0x68b5bd0, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:79
[debug]#5  0x014382b1 in LogManager::~LogManager (this=0x68b5bd0, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\sdk\logmanager.cpp:83
[debug]#6  0x016bf268 in Mgr<LogManager>::Free () at C:/Devel/CodeBlocks/src/include/manager.h:196
[debug]#7  0x014d7d7b in Manager::Shutdown () at C:\Devel\CodeBlocks\src\sdk\manager.cpp:158
[debug]#8  0x00489b1c in MainFrame::OnApplicationClose (this=0x6ef54a0, event=...) at C:\Devel\CodeBlocks\src\src\main.cpp:3036
[debug]#9  0x62a03c0a in ?? () from c:\devel\codeblocks\src\devel29\wxmsw293u_gcc_custom.dll
[debug]#10 0x00000000 in ?? ()
[debug]>>>>>>cb_gdb:
[debug]> frame 2
[debug]#2  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d4b000, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
[debug]c:\devel\codeblocks\src\plugins\compilergcc\compilermessages.cpp:45:1167:beg:0xa258e57
[debug]>>>>>>cb_gdb:

#2  0x0a258e57 in CompilerMessages::~CompilerMessages (this=0x9d4b000, __in_chrg=<optimized out>) at C:\Devel\CodeBlocks\src\plugins\compilergcc\compilermessages.cpp:45
c:\devel\codeblocks\src\plugins\compilergcc\compilermessages.cpp:45:1167:beg:0xa258e57


...is that of any help? BTW: The crash is "normal" if you quit C::B compiled against wx2.9.x. Somwhere the event queue is screwed (we have more PushEventHandler calls than RemoveEventHandler and this is serioulsy wrong). I remember we (actually Yiannis) did ugly hacking with the plugin load/unload mechanism to make it work. This might be the reason.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #643 on: January 30, 2012, 09:40:56 pm »
May I say something: This autofoo simply sucks. Maybe we should  use cmake on Linux distros...
I think the opposite:
cmake sucks.
[/quote]
Ok - you might be right - I remember hacking cmake to make it work with wxWidgets earlier and this was no fun.

So: Make we should then get rid of automake completely and force people using a compiled C::B  from a package manager to compile C::B... hehe.. :D
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline tomjnx

  • Multiple posting newcomer
  • *
  • Posts: 34
Re: Splitting debugger in two - specific debugger and common GUI
« Reply #644 on: January 30, 2012, 10:24:59 pm »
So: Make we should then get rid of automake completely and force people using a compiled C::B  from a package manager to compile C::B... hehe.. :D

If you tell me how to compile using C::B without X11 on Linux... Distribution buildservers usually have no X11 8-)