[Qt-creator] Adding a new debugger or emulating a gdbserver interface in the existing home-made debugger

Pierre FICHEPOIL pfichepoil at infflux.com
Wed Dec 4 10:06:32 CET 2019


Greetings,

I'm working on QtCreator 4.9 and adding support for the LuaJIT language.

I already got a home-made Lua debugger that is split into a debugging server (code is ran in it's own thread in the app you want to debug), and debugging clients (Each lua threads got it's own debugging client to read and send messages to the server)


The debugging server is acting like a bridge between the actual debugger frontend (That is supposed to be QtCreator) and the Lua threads I'm debugging.


The communication is using a TCP Socket, with no auth.

[cid:image001.png at 01D5AA8A.21B7CC80]


Right now the server handle this kind of commands, I tested the following commands using the < raw > communication mode from Putty and using a custom client.

BREAKPOINT_ADD "c:/file_path/file.lua" 42
BREAKPOINT_REMOVE "c:/file_path/file.lua" 42


CONTINUE
SET_LOCAL 4 X 42
SET_UPVALUE HOOK_KEY "KEY_F"


Etc...

Each command ends with a new line.


Right now the only missing part of this project is linking the Debugging Frontend (QtCreator) to the debugging server.


Would It be easier/more elegant to implement the gdbserver interface/protocol in my debugging server as suggested by aha_1980  <https://forum.qt.io/topic/109428/making-a-custom-made-debugger-compatible-with-qtcreator> or to make my own plugin ?
If the first solution is the one to choose, do you have any tip or easy to understand documentation on the gdbserver protocol/behavior ?
Else, is there some < clean > and < easy > way to add my debugger, without recoding the UI that already exists in the existing plugin.

I'm pretty new to using Qt and C++.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qt-creator/attachments/20191204/55671e41/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 10708 bytes
Desc: image001.png
URL: <http://lists.qt-project.org/pipermail/qt-creator/attachments/20191204/55671e41/attachment-0001.png>


More information about the Qt-creator mailing list