Code::Blocks

Developer forums (C::B DEVELOPMENT STRICTLY!) => Plugins development => Topic started by: rickg22 on May 09, 2005, 04:33:56 am

Title: Debugging the plugins?
Post by: rickg22 on May 09, 2005, 04:33:56 am
I've ran into a gdb problem, can any of you guys give an insight on how to solve it? How can i debug C::B and have all the symbol tables of the loaded plugins? (I'm tired of getting codeblocks_dll_iname in my backtraces).

Thanks.
Title: Debugging the plugins?
Post by: EricBurnett on May 09, 2005, 06:11:49 am
I don't know how to do all the plugins at once, but if you choose to debug a different target in codeblocks (instead of src...maybe plugin_CompilerGCC or something) and then set the host application to the codeblocks exe, you can debug the source files related to that target ok.

If you do not need to have the symbol files loaded at startup, you could also debug and then use the 'Send command to GDB' option to send 'add-symbol-file share/codeblocks/plugins/debuggergdb.dll' or whatever it is you need.

We should add an option to let the user choose to add some symbol files to have added when the debugger starts....it shouldn't be too hard. It would require changing the menus some though. I have no idea how that is done.
Title: Debugging the plugins?
Post by: mandrav on May 09, 2005, 08:32:03 am
Quote
If you do not need to have the symbol files loaded at startup, you could also debug and then use the 'Send command to GDB' option to send 'add-symbol-file share/codeblocks/plugins/debuggergdb.dll' or whatever it is you need.

We should add an option to let the user choose to add some symbol files to have added when the debugger starts....it shouldn't be too hard. It would require changing the menus some though. I have no idea how that is done.

I think, what you mean is "Debug->Add symbol file", which is already there ;)
For example, in Code::Blocks just put a breakpoint on the last line of PluginManager::ScanForPlugins and when it hits it, add the symbol files for the plugins...
At least, that's what I do.

Yiannis.

Yiannis.