Author Topic: debugger_gdbmi  (Read 10056 times)

Offline Frank_CB

  • Almost regular
  • **
  • Posts: 177
Re: debugger_gdbmi
« Reply #15 on: Yesterday at 10:02:55 pm »
Tree results in attachment

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2949
Re: debugger_gdbmi
« Reply #16 on: Today at 12:56:53 am »
Tree results in attachment
Whatever that is, it is not the source for codeblocks.
What you showed me is the binary output after compiling codeblocks. It does not contain the CodeBlocks source files.

If you want to compile a plugin, you need to compile it agains the CodeBlocks source code.
You can download the source from https://sourceforge.net/p/codeblocks/code/HEAD/tree/

Look at the upper right to see a button titled "Download Snapshot".
Click that button and it will generate the source code into a zip file. It'll take about two minutes.

Unzip that file into a new folder  named CBdevel.
Copy the downloaded .zip file into CBdevel folder.
Unzip the download .zip file. It'll create a directory named: codeblocks-code-r13840-trunk .
Rename that directory to "trunk" so you won't have to type long folder names.

Start your codeblocks, the one you usually use.
Open the .cbp from "CBdevel\trunk\src\CodeBlocks_wx33_64.cbp"
Click on MainMenu->Build->Rebuild Workspace and wait until it finishes building CodeBlocks.

When it finishes, close down CodeBlocks and open a console (cmd.exe).
In the console type "cd CBdevel\trunk\src\ ".
In the console type "update33_64" . That bat file will copy the .exe and .dll(s) to CBdevel\trunk\src\output33_64 .

Type into the console:
Code
    cd output33_64
    codeblocks.exe /d /p CBdevel

The newly build CodeBlocks should load and run.

From the CodeBlocks top menu, File/Open the following workspace:
"CBdevel\trunk\src\ContribPlugins_wx33_64.workspace". It may take about 5-10 seconds to load.

Once loaded, it will ask you where your wxWidgets 3.3 source resides. Use the three dots to navigate and select the folder containing wxWidgets source code. Click on save.

It will ask for a cb_release type. Enter "-g" into the slot named base  (without the quotes). Click save.
It will ask you for a cb_cpp_std. For me, I enter "-std=c++11" . I think you're using  "-std=c++23". Click save.

For each project in the workspace that you want to use, right click on the project name and select "Rebuild". I choose the following: BrowseTracker, CodeSnippets, DragScroll, KeyBinder, Clangd_client, and SmartIndent.

After all the plugin projects of your choosing have been Rebuilt, close down CodeBlocks.
In the console type "cd CBDevel\trunk\src" . And then "Update33_64.bat" so that CB copies the chosen (now binary plugins) into the correct folders.

Now "cd output33_64" in the console and restart CodeBlocks with "codeblocks.exe /d /p CBdevel" .

Now we're ready to install and compile debugger_gdbmi plugin with your new CodeBlocks.

Make a fresh copy of the debugger_gdbmi plugin frrom https://github.com/pecanh/debugger_gdbmi/releases/tag/%22Nightly_Releases%22 . Click on "Source code (zip)" near the bottom of the page.

In the console, "cd CBdevel\trunk\src\plugins\contribs " and make a new folder named "debugger_gdbmi".

Copy the downloaded zip file (debugger_gdbmi--Nightly_Releases.zip) into the newly create debugger_gdbmi folder. Unzip the .zip file which will have a name like "debugger_gdbmi--Nightly_Releases" with the source in a folder named "src". copy the src directory and all it contents so that the layout of the debugger_gdbmi folder looks like"this:
Code
|───CBdevel
|   |---trunk
|       |---src
|           |---plugins
|               |---contribs                  <-a lot of projects here
|                   |---debugger_gdbmi <-the new folder you create
|                       |───InstallDebuggerMI
|                       |--- .cbp build files
|                       |--- src                <-This folder must be a child of the debugger_gdbmi folder.
|                           |---resources
|                           | ---source files (cpp,h,etc)  <- the actual source files must be in the "src" folder.


Start CodeBlocks if it's not already running.
Check that Setting/compiler/ToolChainExecutables use the same compiler that built CodeBlocks.

With CodeBlocks running, from the main menu File/Open file named:

CBdevel\trunk\src\plugins\contribs\debugger_gdbmi\debugger_gdbmi_wx33_64.cbp
and  Build/rebuild.

Close CodeBlocks.
When the build is successful, go back to the console and from CBdevel\trunk\src run update33_64.bat debugger_gdbmi should now show in plugins when CodeBlocks is restarted.

To run clangd_client you will have to disable the CodeCompletion plugin, enable clangd_client and update its settings.

 
« Last Edit: Today at 01:55:47 am by Pecan »

Offline Frank_CB

  • Almost regular
  • **
  • Posts: 177
Re: debugger_gdbmi
« Reply #17 on: Today at 03:16:55 am »
Thanks for the detailed response. I'll give it a try tomorrow. I was under the impression that debugger_gdbmi needed to be built from a compiled version of C::B

Offline Frank_CB

  • Almost regular
  • **
  • Posts: 177
Re: debugger_gdbmi
« Reply #18 on: Today at 03:37:26 am »
This attachment shows source code for C::B svn 14840 from SF.

Offline Frank_CB

  • Almost regular
  • **
  • Posts: 177
Re: debugger_gdbmi
« Reply #19 on: Today at 08:21:38 am »
Executing codeblocks.exe /d /p CBdevel in output33_64 displayed a message saying wxmsw332u_gcc_custom.dll couldn't be found and reinstalling it might fix the problem. Is there something that I can substitute for it?

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2949
Re: debugger_gdbmi
« Reply #20 on: Today at 05:13:47 pm »
Executing codeblocks.exe /d /p CBdevel in output33_64 displayed a message saying wxmsw332u_gcc_custom.dll couldn't be found and reinstalling it might fix the problem. Is there something that I can substitute for it?

go to your ...\wxWidgets332\lib\gcc_dll\ and copy those dll(s) into output33_64.
go to your compiler bin directory (the one you used to compile CodeBlocks) and copy these files to output33_64:
libgcc_s_seh-1.dll
libstdc++-6.dll
libwinpthread-1.dll

Offline Frank_CB

  • Almost regular
  • **
  • Posts: 177
Re: debugger_gdbmi
« Reply #21 on: Today at 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))
 

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2949
Re: debugger_gdbmi
« Reply #22 on: Today at 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)