dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.95k stars 4.65k forks source link

Add support of Samsung netcoredbg for mono runtime. #87312

Open vikasgupta8 opened 1 year ago

vikasgupta8 commented 1 year ago

Samsung's netcoredbg repo: https://github.com/Samsung/netcoredbg It is a debugger used to debug dotnet applications. It provides the functionality like getting backtrace, adding breakpoints, step in, run, attach to process etc.

Currently netcoredbg is only supported for coreclr.

Why we need netcoredbg? Currently we do not have any debugger supported on mono. Hence, we face issues while working with managed code (i.e, C#, F# etc). With the support of netcoredbg in mono we can debug such applications.

We need to have netcoedbg functionality to be available for mono runtime also. As we do not have DAC implementaion for mono, we can only debug running applications with netcoedbg.

ghost commented 1 year ago

Tagging subscribers to this area: @tommcdon See info in area-owners.md if you want to be subscribed.

Issue Details
Samsung's netcoredbg repo: https://github.com/Samsung/netcoredbg It is a debugger used to debug dotnet applications. It provides the functionality like getting backtrace, adding breakpoints, step in, run, attach to process etc. Currently netcoredbg is only supported for coreclr. Why we need netcoredbg? Currently we do not have any debugger supported on mono. Hence, we face issues while working with managed code (i.e, C#, F# etc). With the support of netcoredbg in mono we can debug such applications. We need to have netcoedbg functionality to be available for mono runtime also. As we do not have DAC implementaion for mono, we can only debug running applications with netcoedbg.
Author: vikasgupta8
Assignees: -
Labels: `area-Diagnostics-coreclr`
Milestone: -
ghost commented 1 year ago

Tagging subscribers to this area: @thaystg See info in area-owners.md if you want to be subscribed.

Issue Details
Samsung's netcoredbg repo: https://github.com/Samsung/netcoredbg It is a debugger used to debug dotnet applications. It provides the functionality like getting backtrace, adding breakpoints, step in, run, attach to process etc. Currently netcoredbg is only supported for coreclr. Why we need netcoredbg? Currently we do not have any debugger supported on mono. Hence, we face issues while working with managed code (i.e, C#, F# etc). With the support of netcoredbg in mono we can debug such applications. We need to have netcoedbg functionality to be available for mono runtime also. As we do not have DAC implementaion for mono, we can only debug running applications with netcoedbg.
Author: vikasgupta8
Assignees: -
Labels: `area-Diagnostics-coreclr`, `untriaged`, `area-Debugger-mono`
Milestone: -
lambdageek commented 1 year ago

@vikasgupta8 I'm curious about your use case. Currently debugging .NET applications that use the MonoVM runtime (for example .NET 6, 7 or 8 apps that target WebAssembly, iOS, Android, etc) is possible using Visual Studio on Windows, or Visual Studio for Mac. Additionally VS Code can debug .NET WebAssembly applications. The new C# Dev Kit does not support Mono yet, but there is currently work ongoing to add support for debugging MAUI applications to VS Code by building on the C# Dev Kit.

For more obscure cases (such as embedding Mono in another application), you may be able to use the VS Code Mono Debug extension by appropriately configuring Mono using environment variables or the embedding API and by creating a corresponding launch.json file for VS Code (see the README for the extension).

There is also some ongoing work to implement the mscordbi/dbgshim/ICorDebug infrastructure for Mono, but if you just need basic debugging support, consider one of the other options