Author Topic: The 02 December 2007 build (4696) is out.  (Read 53189 times)

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: The 02 December 2007 build (4696) is out.
« Reply #30 on: December 08, 2007, 07:36:18 pm »
Only, the crashes on close workspace are still there, but OK, I can reopen C::B when it happens.
wobien

I get crashes, if I close a workspace and then create a new project. After some debugging (with kdbg  :(, because I still don't know how to debug C::B from within C::B ), I figured out a problem with the debugger-plugin's RemoteDebuggingMap.
After disabling the plugin, the crashes went away.

Perhaps I have enough time to do a little more debugging this weekend.

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: The 02 December 2007 build (4696) is out.
« Reply #31 on: December 09, 2007, 01:00:22 am »
Only, the crashes on close workspace are still there, but OK, I can reopen C::B when it happens.
wobien

I get crashes, if I close a workspace and then create a new project. After some debugging (with kdbg  :(, because I still don't know how to debug C::B from within C::B ), I figured out a problem with the debugger-plugin's RemoteDebuggingMap.
After disabling the plugin, the crashes went away.

Perhaps I have enough time to do a little more debugging this weekend.

The RemoteDebuggingMap was not cleared, when closing a project.

Here is a patch that fixes the problem (and a typo in a comment):
Code
--- codeblocks-1.0svn.orig/src/plugins/debuggergdb/debuggergdb.cpp      2007-12-07 20:03:07.000000000 +0100
+++ codeblocks-1.0svn.work/src/plugins/debuggergdb/debuggergdb.cpp      2007-12-08 23:55:25.000000000 +0100
@@ -2463,10 +2463,13 @@
     // allow others to catch this
     event.Skip();

-    // remove all search dirs sotred for this project so we don't have conflicts
+    // remove all search dirs stored for this project so we don't have conflicts
     // if a newly opened project happens to use the same memory address
     GetSearchDirs(event.GetProject()).clear();

+    // clear the RemoteDebuggingMap for this project
+    m_RemoteDebugging.clear();
+
     // remove all breakpoints belonging to the closed project
     m_State.RemoveAllProjectBreakpoints(event.GetProject());
     if (m_pBreakpointsWindow)

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: The 02 December 2007 build (4696) is out.
« Reply #32 on: December 09, 2007, 11:52:22 am »
The crash only happens, if the closed project has "remote_debugging" entries in the cbp-file.

This can of course happen, if you want to do remote-debugging, or if you are curious (like me) and click on the build-target in the debugger tab of the projects "Properties ..." window.

Even if you don't change anything, but click "OK" to close the window, and answer "Yes" to the "do you want to save changed project-settings"-question when closing the project, the "remote_debugging" entries appear in the cbp-file.

Nevertheless it's a bug and should be fixed.

Offline wobien

  • Multiple posting newcomer
  • *
  • Posts: 69
Re: The 02 December 2007 build (4696) is out.
« Reply #33 on: December 09, 2007, 05:13:34 pm »
The crash only happens, if the closed project has "remote_debugging" entries in the cbp-file.
How can I know if I have "remote_debugging" entries in my cbp-file?

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: The 02 December 2007 build (4696) is out.
« Reply #34 on: December 09, 2007, 06:17:47 pm »
You can open it with a texteditor and search for "remote_debugging" as XML-tags.