Debugging C# Console Apps on Linux with VS Codium (ReadLine/Input Not Working)

Hi folks,

I wanted to share my experience trying to debug a simple C# console application (Console.ReadLine() based) on Linux using VS Codium and various open-source C# extensions — so others can avoid the same rabbit hole.

What I Tried

Platform: CachyOS (Arch-based, Wayland)
Project: Simple C# .NET 9 console app using Console.ReadLine()
Goal: Debug it with working terminal input in VS Codium

I tested:

  • dotnet run (in terminal): works perfectly, input/output behaves as expected

  • Debugging via:

    • free-vscode-csharp (by muhammad-sammy)

    • DotRush (another FOSS alternative)

The Problem

When debugging inside VS Codium using these FOSS extensions:

  • Breakpoints may work

  • But terminal input (Console.ReadLine()) does not work at all

  • No external or integrated terminal is launched during debug

  • The app either hangs or silently skips input

The issue is that both extensions rely on Samsung’s NetCoreDbg (MIT-licensed), which currently lacks support for connecting the debugger to an interactive terminal session during debugging.

This makes it impossible to debug console input apps within VS Codium or similar FOSS-only setups.

What Does Work

  • Running from terminal using dotnet run or dotnet bin/Debug/...dll

  • Using Console.WriteLine() or logging to trace logic

  • Debugging manually with lldb -- dotnet ... (basic, but functional)

What Works Fully

To get working terminal input along with breakpoints and stepping:

  • Use the official VS Code (Microsoft) and install the Microsoft C# extension (ms-dotnettools.csharp)

    • This uses vsdbg, a proprietary debugger with full terminal support
  • Alternatively, use JetBrains Rider (full-featured IDE for .NET)

Conclusion

There is currently no fully FOSS way to debug a C# console app with terminal input inside VS Codium.

You’re not doing anything wrong — it’s just a limitation of NetCoreDbg and the current FOSS .NET debugging stack.