Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

LLDB debugger low level interface investigation results

<< < (5/6) > >>

AndrewCot:
Thanks. I have updated the readme.md

I got side tracked onto the debugger detection on startup and it has taken allot longer than I expected and have not got to using the plugin to debug itself.

AndrewCot:
The DAP debugger can debug itself, so long as you use different network ports. I just finished testing this.

If you are one of the people who have cloned the https://github.com/acotty/CB_Debugger_DAP_Plugin repo then please pull the changes as I fixed a nasty issue in the code today where I commented the OnIdle(..) from the GDB/MI as I thought the code was non needed, but the event.Skip(); was as it causes compilation issues. Go figure!!!!





Pecan:

--- Quote from: AndrewCot on July 04, 2022, 10:45:19 am ---...where I commented the OnIdle(..) from the GDB/MI as I thought the code was not needed, but the "event.Skip();" was as it causes compilation issues. Go figure!!!!

--- End quote ---

That's caught me a couple of times also.

wxWidgets ends processing any event if there is no Skip() called. Events are pass on to other users only when a call to Skip() is done.

It's especially important to issue a call to Skip() from within an OnIdle() event. Else plugins (etal) will never receive their OnIdle event hooked onto async I/O etc.

AndrewCot:
Update:
* Done - Add support for multiple line break points in a file
* Done - Wire up simple watches. Aka add to watch dialog only and update as you step / run the debugee
* Done - Enable break point and watchs to be persistent from the GDB/MI debugger plugin.
* Done - Get the call stack working correctly
* Done - Wire up starting the LLDB debugger exe when you start debugging.
* Done - Mac Project files now build DLL and plugin
* Done - Linux Project files now builds DLL and plugin
* Done - Linux bootstrap/configure/make process now builds DLL and plugin
* Done - MacOS Project files now builds DLL and plugin
* Done - Macos bootstrap/configure/make process now builds DLL and plugin
* Done - add support for the CLANG compiler to detect debugger and add it as a debugger automatically (compiler config XML changes
* Done - MAcOS update DMG file creation - needed to easily install updates
* Working - by default it captures exceptions on Linux and Mac and if you use Clang64 on Windows (Mingw64 does not work and 32 bit not tested)Real world usage:

* Use in anger to fix C::B issue(s) on Mac to go through the Mac Tickets. Most seem to be codecompletion issues and
* Add features required to make debugging betterFuture:
* Remove the codecompletion from the builds as clangd_client is working better than codecompletion and I have it in my builds. This will resolve a number of tickets.
* Future - Linux update DEB file creation and testI have started looking a the Mac tickets and found that there is not allot of info on how to reproduce the issues or logs that can be used to analyze the problem when it occurred.... Something devs need to be aware of that even tough you may not look at the ticket you need to ensure that enough info is captured for ad different dev to look at it in a few months/years.

AndrewCot:
Quick update:
I can now successfully debug C::B from C::B using the DAP debugger on Windows.

The code is available from the following repo:https://github.com/acotty/CodeBlocks_Unofficial_Testing

If you want to try it then you will need to start with the following directories and add the CBP to your workspace and configure your environment to build the two projects:
* src\plugins\contrib-wip\DebugAdapterProtocol
* src\plugins\contrib-wip\Debugger_DAPTo use the LLDB debugger you need to configure your C++ to build with -dwarf-4 instead of -ggdb. GDB can use the -ddwarf-4 debug information.

Next for me to try the code on Mac to see how if it also works w.r.t. C::B debugging C::B.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version