You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In some platforms, LLDB is either not readily available (e.g. SmartOS) or not available for prime time debugging (e.g. Alpine Linux and other muscle-libc based distros where it crashes).
More generally:
chances of a working GNU debugger available via package manager (or preinstalled) on an arbitrary Unix are higher than that of LLDB.
the additional ~20 years of experience GDB has over LLDB makes it mature, stable and richer in terms of features, such as, non-stop debugging, reverse-debugging (and some others in lldb wishlist) etc.
Therefore, I think in addition to lldbplugin, if SOS commands and managed code debugging support is extended to GDB, it would bring about significant value for consumers.
Note that GDB/MI is still under construction, so some of the features described below are incomplete and subject to change (see GDB/MI Development and Front Ends).
The text was updated successfully, but these errors were encountered:
The coreclr runtime can be built with the FFEATURE_GDBJIT that turns on building the JIT interfaces for gdb (and lldb). It is unsupported, untested and it allocates too many resources to turn on in the product.
The MI interface could be used to put the services need for SOS, but it would have to be in it's own REPL with it's own command parsing. We don't currently have the resources to do this at this time.
gdb doesn't have an extension model to allow adding the SOS commands like we do in lldb and the Windows debuggers.
We do have a dotnet CLI global tool called "dotnet-dump" that allows (just) SOS commands to be executed on an ELF core dump. It isn't a native debugger just a simple REPL that loads the SOS and provides the services it needs to read the core dump. See dotnet-dump. The next preview (6) will support Alpine and arm architectures without relying on a working lldb (or gdb).
Motivation
In some platforms, LLDB is either not readily available (e.g. SmartOS) or not available for prime time debugging (e.g. Alpine Linux and other muscle-libc based distros where it crashes).
More generally:
Therefore, I think in addition to lldbplugin, if SOS commands and managed code debugging support is extended to GDB, it would bring about significant value for consumers.
Implementation
There are multiple extension points for GDB that IDEs and tools make use of. A quick glance at GDB frontends list, for a rough idea https://sourceware.org/gdb/wiki/GDB%20Front%20Ends.
In my understanding, one of these two GDB facilities could be used for SOS integration:
--interpreter
switch).The text was updated successfully, but these errors were encountered: