我使用 Visual Studio 2022 设置了 ASP.NET 4.0 Web 应用程序,并将其部署在 Linux (WSL Ubuntu 22.04) 上。我使用 Mono 和 VSCode 进行调试。以下是我遵循的步骤:
创建了网络应用程序。
安装了 mono-complete、mono-xsp4 和 nginx。
已将应用程序部署到/var/www/XXX。
更新了 Nginx 配置。
安装了 VSCode 并在 VSCode 中打开项目。
运行命令: MONO_MANAGED_WATCHER="y" MONO_OPTIONS="--debug --debugger-agent=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:55555" xsp4 --address 0.0.0.0 --端口 9000 --verbose --root 内容/.
在 VSCode 中添加了启动设置,用于附加到 Mono 并调试我的应用程序。
{
"name": "附加到 Mono",
“请求”:“附加”,
“类型”:“单声道”,
“地址”:“本地主机”,
“端口”:9000,
},
{
"name": "调试我的 Mono 应用程序",
“请求”:“启动”,
“类型”:“单声道”,
“程序”:“/var/www/XXX/”
},
在浏览器中打开应用程序:http://localhost:9000/Default.aspx。
出现调试器工具栏,但未命中断点。
我错过了什么?如何成功附加断点?我们正在探索将现有 ASP.NET 应用程序迁移到 Mono 而不是 .NET Core 的可能性。
我也尝试过使用 monodevelop,但我也无法附加断点
我找到了这个问题的根本原因。 launch.json 中提供的调试器端口是错误的,应该是 55555,如下所示。
{“名称”:“附加”,“类型”:“单声道”,“请求”:“附加”,“地址”:“本地主机”,“端口”:55555},