Xcode Debugger Extensions

Hello,


I would like to know whether it is possible to develop debugger extensions for Xcode, e.g. add a new button in the Debugger pane and be able to modify program state, even if this means that changes to the underlying toolchain (LLVM / Clang / LLDB) would be required.


The closest reference I was able to find was XcodeKit, but unfortunately it seems limited to source editor extensions.


Thank you very much, in advance! 🙂



― Vangelis

Replies

add a new button in the Debugger pane and be able to modify program state

The problem here is the GUI. LLDB has a sophisticated extension architecture, supporting aliases for simple stuff and Python scripting for accomplishing complex tasks. These work in LLDB from both the command line (via the

lldb
command) and within Xcode. However, Xcode does not have any mechanism for loading extensions that tweak its GUI.

One possibility here is to host that GUI outside of Xcode, in a floating palette say. The tricky part here is managing the IPC between the GUI and the LLDB extension, although that’s probably doable.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Thank you very much for the information, eskimo! 😊


Do you have the ability to internally suggest the addition of an API for extensions that modify the GUI of Xcode or should I submit feedback myself?

should I submit feedback myself?

Yes. I’d appreciate you filing an enhancement request describing what you’re looking for, so that the Xcode team can factor your requirements into their future plans.

Please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"