Git Product home page Git Product logo

Comments (16)

jpfeiffer16 avatar jpfeiffer16 commented on May 18, 2024 12

In case anyone here is still interested in debugging C# from vim, I also was interested in this and due to the licencing on Microsoft's vsdbg as mentioned above, I stumbled accross an OSS debugger built by Samsung: https://github.com/Samsung/netcoredbg.
I used this to create a service that talks to the debugger and forwards relevant info to vim (highlight the line for the current stack frame etc..). It's still very buggy, but it works and I'm trying to re-write the js prototype in c#.
The portion that wraps the Samsung debugger is here: https://github.com/jpfeiffer16/dotdbg
The vim client is here: https://github.com/jpfeiffer16/dotdbg-vim

outhaCEkb3DTh

from omnisharp-vim.

jpfeiffer16 avatar jpfeiffer16 commented on May 18, 2024 5

After messing around with vimpsector for a bit and some help from puremourning, I got it working and it's great! There are some rough edges I've bumped into from time to time with large variables, but for the most part I'm blown away with how well it works!

https://asciinema.org/a/vfBOwVatfTTPi5vIsq11iPi6s

from omnisharp-vim.

jpfeiffer16 avatar jpfeiffer16 commented on May 18, 2024 5

PR here if you're interested @nickspoons : puremourning/vimspector#36

from omnisharp-vim.

lucasteles avatar lucasteles commented on May 18, 2024 2

If MS changes the license of the vsdbg, maybe it can be integrated, for now the can be used only with VS Code, Visual Studio and Xamarin studio

dotnet/core#505

from omnisharp-vim.

nickspoons avatar nickspoons commented on May 18, 2024 2

Debugging dotnet core in vimspector works great.

There have been a lot of changes to the landscape since this issue was opened, we now have LSP and DAP for language servers and debug adapters. As OmniSharp-vim is closely tied to the OmniSharp-roslyn language server, I don't think it makes sense to include debugging support here, now or in the future, so I'll close this very old issue now.

from omnisharp-vim.

nickspoons avatar nickspoons commented on May 18, 2024 1

@jpfeiffer16 I spoke to puremourning in #vim on freenode (IRC) about this a while back, before the samsung debugger came out, and yes he was not interested at the time at working against the MS license. If you can get something working with the samsung one I'd love to be a guinea pig.

from omnisharp-vim.

nosami avatar nosami commented on May 18, 2024

It probably is possible, but very complex and I don't really have any interest personally in building this as I very rarely use a debugger.

from omnisharp-vim.

mikavilpas avatar mikavilpas commented on May 18, 2024

I've been toying with this idea also. There are a lot of debuggers
that are easily integrated into text editors. For Emacs, there are
many working command line / text UI integrations available for other
languages. So this would definately be doable.

I haven't been able to find any command line debugger for C#, but
there are very working implementations of debuggers in IDEs other than
Visual studio already, such as MonoDevelop or SharpDevelop.

Maybe one of these implementations could be plugged into the OmniSharp
server. That would have a JSON API that would let the user manipulate
the debugger's state.

from omnisharp-vim.

Uroc327 avatar Uroc327 commented on May 18, 2024

Apparently there is a command line debugger officially in the mono project (Mono Hard Debugger).
Also it is possible to debug mono with gdb (cli too) (Debugging with GDB).

As there are plugins to use gdb functions directly in Vim, I think this should be possible with mdb/gdb for mono too.

After a quick search for vim gdb plugins I got the following (just as reference, if someone would decide, to implement debugging ;) ):
The Clewn Project
gdbmgr
gdbvim
idevim.tgz
VimDebug

from omnisharp-vim.

mikavilpas avatar mikavilpas commented on May 18, 2024

I looked around and found there are ready libraries for plugging in a debugger.
This looks like it's very doable.

https://github.com/mono/debugger-libs

from omnisharp-vim.

mikavilpas avatar mikavilpas commented on May 18, 2024

@nosami
Can this ticket be moved to a OmnisharpServer ticket?

edit: perhaps a separate ticket should be opened. What do you think?

from omnisharp-vim.

johnhidey avatar johnhidey commented on May 18, 2024

With .NET Core 1.0 released I have begun to make the move away from Windows. While I am new to the other ecosystems out there I must say that I am really enjoying my development in vim without all the overhead of VS. I too would love to see debugging support brought to omnisharp-vim. At least the .net core 1.0 projects.

from omnisharp-vim.

nickspoons avatar nickspoons commented on May 18, 2024

Definitely interested - please keep us posted on your progress!

from omnisharp-vim.

jpfeiffer16 avatar jpfeiffer16 commented on May 18, 2024

Just an update for anybody interested. With the new stdio stuff, my code for this is not really relevant anymore. Before restarting based on the awesome new stdio stuff, I'm going to look into adding support in https://github.com/puremourning/vimspector. They note the ms licensing stuff, but I'm wondering if I can shim in the samsung debugger and get something useful.

from omnisharp-vim.

nickspoons avatar nickspoons commented on May 18, 2024

Magic, I can't wait to try it!

from omnisharp-vim.

jpfeiffer16 avatar jpfeiffer16 commented on May 18, 2024

Yea. It's a gem of a plugin. So glad I came across it.

from omnisharp-vim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.