Recent Posts

Pages: [1] 2 3 4 5 6 ... 10
1
Help / Re: debugger_gdbmi
« Last post by Pecan on Today at 04:28:25 pm »
Great work Pecan. Or in my words bloody good job (OZ).

One thing to remember is that testing is a killer and needs to be done using it against CB to fix bugs. It's a PITA an takes time.

The second thing to remember is no matter how good you think the debugger is there WILL be bugs slip through the corner cases or the homer effect (doh i did not check that or think to check that).

Overall I think in the short term this should go into the CB mainline to replace the existing GDB debugger as the existing GDB debugger uses the ancient and technically obsolete I/F.
But in the long term ..... move to the next one and save yourself the pain, unless ....... . At the end only you know the best way forward for yourself.

Good luck and keep up the great  work.

Thanks. I'm already working inside your DAP prototype.
It's a bitch. I hate that awful JSON parser.
I still don't understand what I have to do to define those To: and From: entries.
Praying to the code gods just does not work.

Even Gemini and Claude get confused and get it wrong.
But if I just try first (and always get it wrong) the robots can see how to fix it.
2
Help / Re: debugger_gdbmi
« Last post by AndrewCot on Today at 01:11:30 pm »
Great work Pecan. Or in my words bloody good job (OZ).

One thing to remember is that testing is a killer and needs to be done using it against CB to fix bugs. It's a PITA an takes time.

The second thing to remember is no matter how good you think the debugger is there WILL be bugs slip through the corner cases or the homer effect (doh i did not check that or think to check that).

Overall I think in the short term this should go into the CB mainline to replace the existing GDB debugger as the existing GDB debugger uses the ancient and technically obsolete I/F.
But in the long term ..... move to the next one and save yourself the pain, unless ....... . At the end only you know the best way forward for yourself.

Good luck and keep up the great  work.
3
Help / Re: debugger_gdbmi
« Last post by Frank_CB on Yesterday at 11:50:49 pm »
Corrected lines 22 & 23 of my copy of debugger_gdbmi_wx33_64.cbp. Changed 32 to 33. The zip file is placed in the correct directory now.

Thanks!!
4
Help / Re: debugger_gdbmi
« Last post by Frank_CB on May 05, 2026, 07:09:17 pm »
@Pecan:
Thanks for providing the procedure for compiling the debugger_gdbmi plugin from source. I really hosed my first attempt at following it. My bad! I trashed those results and started from the beginning again. After adding the missing dll's, I was successful in compiling the plugin. Again, Thanks!!

Regards,
Frank
5
Plugins development / Re: Debugger_gdbmi plugin
« Last post by Pecan on May 05, 2026, 06:38:14 pm »
@ gd_on and ollydbg

acknowledge; watches problems put on top of the ToDo list.

also, I'll remove the gdbinit file from the github repo. It should not be there.

debugger_gdbmi tries to create the file dynamically if it finds gdbinit missing and it can find a valid wxWidgets installation folder which contains print.py.
If it finds gdbini already created, it leave it as is, assuming that the user created it themselves.

ollydbg's description of activated multiple debuggers is correct.
6
Plugins development / Re: Debugger_gdbmi plugin
« Last post by ollydbg on May 05, 2026, 02:33:08 am »
Last question : can we have both plugins (standard and gdmi) activated ? Or is it better to have only one activated (as for codecompletion and clangd_client) ?

Yes, you can have both of the 2 debugger plugins enabled. There is a menu item: Debug->Active debuggers->You can select one.


Quote
- with standard debugger, when I open the watches window, all my local variables are displayed. With gdbmi, I have to add one by one an explicit Watch to my local variables. I can then follow the content of my variables step by step when executing.
In the standard debugger plugin, this is the option: "Watch local variables". In the gdbmi plugin, I also see this option is ON, but I see the same issue here, which means local variables were not listed in the watches panel.

7
Help / Re: debugger_gdbmi
« Last post by Pecan on May 04, 2026, 11:26:33 pm »
Codeblocks.exe /d /p CBdevel executes now. Am having problem(s) with the compiler. It says that there is no linker.
Build Log
Code
-------------- Clean: Plugin - Win32 in Code Snippets wx3.3.x (64 bit) (compiler: GNU GCC Compiler)---------------

Cleaned "Code Snippets wx3.3.x (64 bit) - Plugin - Win32"

-------------- Build: Plugin - Win32 in Code Snippets wx3.3.x (64 bit) (compiler: GNU GCC Compiler)---------------

x86_64-w64-mingw32-g++.exe -Wall -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -DWXUSINGDLL -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DcbDEBUG -DwxUSE_UNICODE -DBUILDING_PLUGIN -DNO_LOGGING std=c++23 -g -Winvalid-pch -DCB_PRECOMP std=c++23 -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\src -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -I. -c C:\CBdevel\trunk\src\plugins\contrib\codesnippets\snippetsconfig.cpp -o ..\..\..\.objs33_64\plugins\contrib\codesnippets\plugin\snippetsconfig.o

x86_64-w64-mingw32-g++.exe -Wall -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -DWXUSINGDLL -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DcbDEBUG -DwxUSE_UNICODE -DBUILDING_PLUGIN -DNO_LOGGING std=c++23 -g -Winvalid-pch -DCB_PRECOMP std=c++23 -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\src -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -I. -c C:\CBdevel\trunk\src\plugins\contrib\codesnippets\codesnippets.cpp -o ..\..\..\.objs33_64\plugins\contrib\codesnippets\plugin\codesnippets.o

x86_64-w64-mingw32-g++.exe: warning: std=c++23: linker input file unused because linking not done
x86_64-w64-mingw32-g++.exe: error: std=c++23: linker input file not found: No such file or directory

x86_64-w64-mingw32-g++.exe: warning: std=c++23: linker input file unused because linking not done
x86_64-w64-mingw32-g++.exe: error: std=c++23: linker input file not found: No such file or directory

Process terminated with status 1 (0 minute(s), 27 second(s))

2 error(s), 2 warning(s) (0 minute(s), 27 second(s))
 

That "std=c++23" is suppose to be  "-std=c++23" (note the dash)
8
Help / Re: debugger_gdbmi
« Last post by Frank_CB on May 04, 2026, 09:55:36 pm »
Codeblocks.exe /d /p CBdevel executes now. Am having problem(s) with the compiler. It says that there is no linker.
Build Log
Code
-------------- Clean: Plugin - Win32 in Code Snippets wx3.3.x (64 bit) (compiler: GNU GCC Compiler)---------------

Cleaned "Code Snippets wx3.3.x (64 bit) - Plugin - Win32"

-------------- Build: Plugin - Win32 in Code Snippets wx3.3.x (64 bit) (compiler: GNU GCC Compiler)---------------

x86_64-w64-mingw32-g++.exe -Wall -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -DWXUSINGDLL -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DcbDEBUG -DwxUSE_UNICODE -DBUILDING_PLUGIN -DNO_LOGGING std=c++23 -g -Winvalid-pch -DCB_PRECOMP std=c++23 -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\src -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -I. -c C:\CBdevel\trunk\src\plugins\contrib\codesnippets\snippetsconfig.cpp -o ..\..\..\.objs33_64\plugins\contrib\codesnippets\plugin\snippetsconfig.o

x86_64-w64-mingw32-g++.exe -Wall -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -DWXUSINGDLL -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DcbDEBUG -DwxUSE_UNICODE -DBUILDING_PLUGIN -DNO_LOGGING std=c++23 -g -Winvalid-pch -DCB_PRECOMP std=c++23 -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\src -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -I. -c C:\CBdevel\trunk\src\plugins\contrib\codesnippets\codesnippets.cpp -o ..\..\..\.objs33_64\plugins\contrib\codesnippets\plugin\codesnippets.o

x86_64-w64-mingw32-g++.exe: warning: std=c++23: linker input file unused because linking not done
x86_64-w64-mingw32-g++.exe: error: std=c++23: linker input file not found: No such file or directory

x86_64-w64-mingw32-g++.exe: warning: std=c++23: linker input file unused because linking not done
x86_64-w64-mingw32-g++.exe: error: std=c++23: linker input file not found: No such file or directory

Process terminated with status 1 (0 minute(s), 27 second(s))

2 error(s), 2 warning(s) (0 minute(s), 27 second(s))
 
9
Help / Re: code::blocks hangs at startup
« Last post by Miguel Gimenez on May 04, 2026, 09:00:58 pm »
Commit r13841 should fix the issue.

Edit: tested OK on Fedora 44
10
Plugins development / Re: Debugger_gdbmi plugin
« Last post by gd_on on May 04, 2026, 08:04:30 pm »
A few remarks on debugger_gdmi plugin.
I have created a debugger_gdmi folder Inside plugins\contrib and put inside a copy of your git repos.
I have added 3 lines in my CodeBlocks_Windows.workspace as it is for all other plugins.
Code
	<Project filename="plugins/contrib/debugger_gdmi/debugger_gdbmi_Windows.cbp">
<Depends filename="CodeBlocks_Windows.cbp" />
</Project>
Building C::B as usual, produces as previously my C::B version, but containing this time debugger_gdmi.zip and debugger_gdmi.dll at the correct place.

My first debug tries did not work as expected.
I find in your distribution a gdbinit file. It contains a path to print.py, but it does not match a path on my system. I tried to replace this path by the one I have (for example C:\wxWidgets-3.3.2\misc\gdb), but it does not seem to change something. Is this gdbinit file useful ?

Finally, I made it work by avoiding space and/or accentuated characters within the path to my executable. The standard debugger.dll (which uses the same gdb.exe) seems to be more tolerant with that.

Other points to notice :
- with standard debugger, when I open the watches window, all my local variables are displayed. With gdbmi, I have to add one by one an explicit Watch to my local variables. I can then follow the content of my variables step by step when executing.
- at the end of my program, if I try to restart it, while the watches window is still opened, I see my variables, but their content is not updated: 2 solutions here, open new watches on the same variables and I see that only the new ones are updated, or simply rename them but without really changing the name (just clic on return at the end of the variable name).

Last question : can we have both plugins (standard and gdmi) activated ? Or is it better to have only one activated (as for codecompletion and clangd_client) ?
Pages: [1] 2 3 4 5 6 ... 10