在没有远程调试器的情况下调试C#Windows服务

本文关键字:情况下 调试 C#Windows 服务 调试器 | 更新日期: 2023-09-27 18:22:14

我用C#编写了一个windows服务,它在桌面上以调试和发布模式运行,但当它安装在服务器上时,它无法正常工作。

它的启动和停止都很好,但代码没有执行。权限似乎在文件路径上设置正确,即SYSTEM,是本地系统以运行服务的方式登录。

我已经安装了VS2013的远程调试器,但是为了使用它,服务器需要重新启动,在可预见的未来无法重新启动,因为这会危及正在运行的其他服务。

有什么办法可以解决这个问题吗?

回答问题评论:

有日志记录和编写来调试,但似乎没有任何代码在执行,这就是我被难住的原因。因此,没有任何try/catch代码正在执行,因此此服务的文件夹上的安全权限与其他正常工作的服务相同。Debug.WriteLine功能没有显示在DebugView中。

在没有远程调试器的情况下调试C#Windows服务

最后,通过尝试其他帖子中的所有可能的方式,对其进行了排序。

  1. 卸载服务
  2. 删除仓位和对象
  3. 清洁溶液
  4. 构建解决方案
  5. 设置为"释放"
  6. 设置回"调试"
  7. 在服务器上重新安装服务