vrn*_*mar 7 mono f# visual-studio-code
我创建了一个测试控制台应用程序,并尝试使用VSCode和Mono Debug扩展来调试它.
fsharp代码:
module TestFharp
[<EntryPoint>]
let main argv =
printfn "Args %A" argv
let x = 5
printf "hello world"
0
Run Code Online (Sandbox Code Playgroud)
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "mono",
"request": "launch",
"program": "C:/FSharp/test/TestFharp/bin/Debug/TestFharp.exe",
"args": [],
"cwd": "${workspaceRoot}",
"preLaunchTask": "",
"runtimeExecutable": null,
"env": {},
"externalConsole": false,
"stopOnEntry": true
},
{
"name": "Attach",
"type": "mono",
"request": "attach",
"address": "localhost",
"port": 55555
}
]
}
Run Code Online (Sandbox Code Playgroud)
DEBUG CONSOLE窗口的输出
mono --debug --debugger-agent=transport=dt_socket,server=y,address=127.0.0.1:61724 C:/FSharp/test/TestFharp/bin/Debug/TestFharp.exe
Args [||]
hello world
Run Code Online (Sandbox Code Playgroud)
build 文件夹中的 exe 文件和 \projectFolder\bin\Debug 有什么区别
exe目录中的文件build由 FAKE 的构建脚本(文件)创建build.fsx[在 Ionide 中使用Ctrl + F5/FAKE: Build default命令调用]
exein\projectFolder\bin\Debug是标准 MsBuild 输出。在 Ionide 中,您可以使用命令直接调用 MsBuild MsBuild: Build project。
两个exe文件是相同的(FAKE 在底层使用 MsBuild),这只是偏好问题以及您是否想在构建上运行一些额外的操作(如测试) - FAKE 允许您定义更复杂的构建过程,MsBuild 只是编译应用程序。
根据您用来构建应用程序的方法,您需要指向exerightlaunch.json
我也设置externalConsole为true.
否则,看起来不错,F5应该启动您的应用程序和调试器。
| 归档时间: |
|
| 查看次数: |
678 次 |
| 最近记录: |