繁体   English   中英

服务结构调试

[英]Service Fabric Debugging

当我尝试以调试模式从VS运行SF服务时,得到以下信息:

试图升级应用程序,但应用程序的版本未更改。 确保在升级之前更新应用程序清单中的版本。

我必须在SF Explorer中手动删除此服务的位置。 是否有办法以某种方式跳过此删除步骤,以便正在调试的服务仅“覆盖”旧服务?

您可以将调试器附加到已部署的应用程序进程。 转到调试->附加到进程。 您可以选择多种服务。 请注意,Visual Studio需要在管理员模式下运行。

如果要调试服务的启动代码,请使用Debugger.Launch() 此方法将阻止调用代码,并提示您选择调试器,您可以选择一个正在运行的VS实例。 不幸的是,存在一个错误,并且VS2017没有作为选项出现。 另外,您可以在启动时调用Thread.Sleep(<duration>)并快速附加调试器,此最后一个选项始终有效。

发生这种情况是因为未正确设置应用程序调试模式的配置。 该设置可能已设置为在停止调试时将应用程序保留在Service Fabric中,这样,在第一次部署后,该应用程序将继续运行部署到SF的旧代码。

您的另一个选项将其设置为“ 删除应用程序”或“ 刷新应用程序”

供参考,您可以选择:

应用程序调试模式

  • 刷新应用程序此模式使您可以快速更改和调试代码,并支持在调试时编辑静态Web文件。 仅当本地开发集群处于1-Node模式时,此模式才有效。 这是默认的应用程序调试模式。
  • 删除应用程序导致在调试会话结束时删除应用程序。
  • 自动升级当调试会话结束时,应用程序将继续运行。 下一个调试会话会将部署视为升级。 升级过程将保留您在上一个调试会话中输入的所有数据。
  • 保留应用程序当调试会话结束时,应用程序将继续在群集中运行。 在下一个调试会话开始时,将删除该应用程序。

该文档详细解释了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM