Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Splitting debugger in two - specific debugger and common GUI

<< < (45/136) > >>

oBFusCATed:
The branch is broken :(


--- Code: ---Index: src/plugins/debuggergdb/cdb_driver.cpp
===================================================================
--- src/plugins/debuggergdb/cdb_driver.cpp      (revision 6402)
+++ src/plugins/debuggergdb/cdb_driver.cpp      (working copy)
@@ -191,7 +191,7 @@
     QueueCommand(new CdbCmd_InfoRegisters(this));
 }
 
-void CDB_driver::SwitchToFrame(size_t /*number*/)
+void CDB_driver::SwitchToFrame(size_t number)
 {
     ResetCursor();
     QueueCommand(new CdbCmd_SwitchFrame(this, number));

--- End code ---

dmoore:

--- Quote from: oBFusCATed on May 06, 2010, 05:21:35 pm ---I've just found a problem in the shutdown procedure of C::B


--- Code: ---void MainFrame::OnApplicationClose(wxCloseEvent& event)
{
.......
    if (!Manager::IsBatchBuild())
    {
        m_pInfoPane->Destroy();
        m_pInfoPane = 0L;
    }

    Manager::Shutdown(); // Shutdown() is not Free(), Manager is automatically destroyed at exit


--- End code ---

And the problem is: the log & info notebook is destroyed (all child logger controls too) before all plugins are destroyed/unloaded.
The result is that the logger system has pointers to destroyed objects => we get a crash every time such a pointer is used (for example in TextCtrlLogger::Append).

How should this problem be fixed?
1. Move the notebook's destruction below the Manager::Shutdown(); call
2. Add a method to the LogManager -> MarkAsDestroyed, which does  "control = NULL"
3. Something else

--- End quote ---

Slightly O/T, but has this issue been resolved in C::B trunk? I think this was a cause of crashes on exit with my FileManager plugin (which was using the logs to show some debugging info).

oBFusCATed:
I think it isn't

MortenMacFly:

--- Quote from: dmoore on July 21, 2010, 05:10:30 pm ---Slightly O/T, but has this issue been resolved in C::B trunk? I think this was a cause of crashes on exit with my FileManager plugin (which was using the logs to show some debugging info).

--- End quote ---
I wasn't aware of that (or missed it).


--- Quote from: dmoore on July 21, 2010, 05:10:30 pm ---1. Move the notebook's destruction below the Manager::Shutdown(); call

--- End quote ---
I would simply prefer that solution. Did you try, if that works?

oBFusCATed:

--- Quote from: MortenMacFly on July 22, 2010, 07:31:39 am ---I would simply prefer that solution. Did you try, if that works?

--- End quote ---
I'm not sure, but I think haven't.
I could try it.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version