[Lldb-commits] [PATCH] D111409: proposed support for Java interface to Scripting Bridge

Jim Ingham via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Oct 8 14:32:04 PDT 2021


jingham added a comment.

In D111409#3052192 <https://reviews.llvm.org/D111409#3052192>, @d-millar wrote:

> Just to clarify my use case:  I am one of the developers for a reverse-engineering tool called Ghidra.  Part of the tool is debugging-support to allow cross-over between dynamic and static analysis.  We currently support windbg/kd, the gcc MI2 interface, and direct Java debugging.  I have a working prototype for lldb, but it requires users to patch and rebuild lldb, which may be a heavy lift for some.  While it falls outside of my use case, I am quite willing to attempt implementing pieces 2 & 3 from Mr. Ingham's post.

That would be great!

To be clear, I was more asking questions than stating requirements.  It might be that the community feels it's sufficiently valuable to just have the API wrappers, and maintaining that in tree is fine provided someone is around to keep it up to date.  IMO, the callback affordances add much of the power in having a scripting language in the debugger, so it would be a shame not to take on the added complexity of another language and not have this bit working.  Whether a REPL is possible is in part determined by whether the language in question is really amenable to that.  It's a huge convenience for developers, and it is pretty cool to be able to drop into the script interpreter and write a quick loop to find something in a bunch of objects.  But it isn't the core part of the job the extension language is doing.

> ________________________________
>
> From: Jim Ingham via Phabricator <reviews at reviews.llvm.org>
> Sent: Friday, October 8, 2021 2:31:13 PM
> To: David Millar; anoronha at apple.com; fallkrum at yahoo.com; kkleine at redhat.com; teemperor at gmail.com; medismail.bennani at gmail.com; jonas at devlieghere.com; tedwood at quicinc.com; jmolenda at apple.com; syaghmour at apple.com; jingham at apple.com; vsk at apple.com; boris.ulasevich at gmail.com; lldb-commits at lists.llvm.org; h.imai.833 at nitech.jp; bruce.mitchener at gmail.com; david.spickett at linaro.org; quic_sourabhs at quicinc.com; djordje.todorovic at syrmia.com; serhiy.redko at gmail.com; Liburd1994 at outlook.com
> Cc: mgorny at gentoo.org
> Subject: [PATCH] D111409 <https://reviews.llvm.org/D111409>: proposed support for Java interface to Scripting Bridge
>
> jingham added a comment.
>
> Support for a scripting language in lldb has three distinct pieces.
>
> 1. Making the SB API's available to the scripting languages
> 2. Adding all the callbacks so the scripting language can be used for breakpoint callbacks, data formatters, etc.
> 3. Adding a REPL for that language to the "script" command
>
> This patch does #1, but not #2 & #3.  Do we care about whether new scripting languages will be able to provide the full "scripting language" experience?  Does there need to be some plan for this before we add on the task of supporting the language?  Maybe it's okay to say "a REPL's too hard, and not worth it" but we should have a plan for adding in the callback interfaces?  Do we want to have somewhere you can advertise levels of support?  I would be sad to spend some time using a scripting language for lldb only to find it doesn't allow me to write breakpoint callbacks, for instance.
>
> This is language #3 so it seems like a fit time to discuss this...
>
> Repository:
>
>   rLLDB LLDB
>
> CHANGES SINCE LAST ACTION
>
>   https://reviews.llvm.org/D111409/new/
>
> https://reviews.llvm.org/D111409




Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111409/new/

https://reviews.llvm.org/D111409



More information about the lldb-commits mailing list