在 VS2019 中调试远程服务器上的 Windows 服务

Posted

技术标签:

【中文标题】在 VS2019 中调试远程服务器上的 Windows 服务【英文标题】:Debugging Windows service on Remote Server in VS2019 【发布时间】:2021-12-29 09:24:21 【问题描述】:

我在我的服务器上部署了一些 Windows 服务应用程序。但是发生了一些错误,我需要在 VS2019 上调试我的计算机中的 Windows 服务。我怎么能这样做。?请提供一些线索。 谢谢

这是应用程序日志

服务于 2021 年 11 月 18 日晚上 7:48:16 开始服务

服务于 2021 年 11 月 18 日晚上 7:50:57 停止

服务于 2021 年 11 月 18 日晚上 7:51:48 开始

服务于 2021 年 11 月 18 日晚上 7:53:19 停止

服务于 2021 年 11 月 18 日晚上 8:07:08 开始

服务将于 2021 年 11 月 18 日晚上 8:09:00 召回

服务被召回:11/18/2021 8:10:46 PM

服务于 2021 年 11 月 18 日晚上 8:11:55 停止

【问题讨论】:

应用程序日志可以帮助... 在应用程序日志中没有可疑的。好的,我会更新我的帖子 在 Windows 事件查看器中 -> “eventvwr” - 运行命令 -> 应用程序日志。 没错..我需要写入事件查看器日志以了解每个函数的结果..请稍候,我将添加我的代码 @BhushanMuttha .. 谢谢你根据你的线索,我知道问题出在哪里。实际上我的代码很好。但我不知道为什么,.bat 文件无法启动。我的 windows 服务是调用 bat 文件来运行宏(一些机器人软件) 【参考方案1】:

基于@BhushanMuttha 线索。我已经弄清楚具体问题是什么了。我已经找到了解决方案。感谢您的帮助。

问题是.. 我的 Windows 服务应用程序无法启动 bat 文件。所以我只是将我的方法从 Windows 服务更改为可以在操作系统启动时启动的控制台应用程序

【讨论】:

【参考方案2】:

有很多方法。我建议你先用最简单的方法。即使用try catch 块。

根据您的代码需要使用多个try 捕获,并在catch 块中提及​​有意义的消息,以了解引发异常的确切位置和原因。

【讨论】:

我的代码总是在 try catch 块中

以上是关于在 VS2019 中调试远程服务器上的 Windows 服务的主要内容,如果未能解决你的问题,请参考以下文章

VS 远程调试阿里云上的web站点,Remote Debugger

无法使用 VS2010 进行远程调试

从 VS2010 调试远程 IIS 服务器上运行的 ASP.NET 应用程序

Vs Code Remote 远程开发与调试-软件使用

VS远程调试(Visual Studio)远程连接到linux cmake(跨平台开发)(适用于VS2019,且远程目标平台cmake版本大于等于3.8)

x64 Windows Server 2003 上的远程调试