如何在Linux 中使用vscode 调试 单C#文件
随着版本的更新,.net平台 已经可以使用dotnet run ./TEST.cs 直接运行单一的C#文件,但有时候我们又想调试代码,这该怎么办呢?
首先,我们需要确定dotnet生成的可执行文件的位置, 这里在linux中可以使用 locate TEST , TEST就是 C#文件的名字。
#:sdk Cake.Sdk@6.1.1
#:project /mnt/hgfs/SelfMake/SelfMake.csproj
//#:property IncludeAdditionalFiles=hello.sMake
using SelfMake;
C.Prepare();
//Hello.Print();
List<string> sourceList = new List<string>()
{
"test/math_ops.c",
"test/MyMath.cpp",
"main.cpp",
};
C.AddExtraIncludePaths("test");
var objectFiles = C.MultiCompile(sourceList);
C.AppFromObjects("test", objectFiles);
MakeManager.Instance.Make();
foreach(var obj in objectFiles)
{
Console.WriteLine(obj);
}
接着我们就能找到类似这样的路径
/home/user/.local/share/dotnet/runfile/TEST-680b853ef5e4ab1306977b189dbe2b4d6de8c013bb7522e4d357ebf33db31b1d/bin/debug
我们可以在这个 bin/debug 目录中找到 生成的可执行文件。
接着, 我们回到VSCode
将 下面的 配置 存储到 launch.json中
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"program": "/home/user/.local/share/dotnet/runfile/TEST-680b853ef5e4ab1306977b189dbe2b4d6de8c013bb7522e4d357ebf33db31b1d/bin/debug/Cake.SDK",
"args": [],
"cwd": "${workspaceFolder}",
"console": "internalConsole",
"stopAtEntry": false
}
然后就可以调试代码了。

浙公网安备 33010602011771号