[all-commits] [llvm/llvm-project] 541f22: [lldb-dap] Support throw and catch exception break...
Walter Erquinigo via All-commits
all-commits at lists.llvm.org
Wed Jul 10 16:05:59 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 541f22ee361a8b3029ac898db29d3e9184fb1671
https://github.com/llvm/llvm-project/commit/541f22ee361a8b3029ac898db29d3e9184fb1671
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-07-10 (Wed, 10 Jul 2024)
Changed paths:
M lldb/include/lldb/API/SBLanguageRuntime.h
M lldb/include/lldb/Target/Language.h
M lldb/source/API/SBLanguageRuntime.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Support throw and catch exception breakpoints for dynamica… (#97871)
…lly registered languages
First of all, this is done to support exceptions for the Mojo language,
but it's done in a way that will benefit any other plugin language.
1. I added a new lldb-dap CLI argument (not DAP field) called
`pre-init-commands`. These commands are executed before DAP
initialization. The other `init-commands` are executed after DAP
initialization. It's worth mentioning that the debug adapter returns to
VSCode the list of supported exception breakpoints during DAP
initialization, which means that I need to register the Mojo plugin
before that initialization step, hence the need for `pre-init-commands`.
In general, language plugins should be registered in that step, as they
affect the capabilities of the debugger.
2. I added a set of APIs for lldb-dap to query information of each
language related to exception breakpoints. E.g. whether a language
supports throw or catch breakpoints, how the throw keyword is called in
each particular language, etc.
3. I'm realizing that the Swift support for exception breakpoints in
lldb-dap should have been implemented in this way, instead of hardcoding
it.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list