c# - 如何调试自定义 Windows 服务的安装?

标签 c# debugging windows-services installutil

我在 C# (4.0) 中创建了一个 Windows 服务,并尝试在命令行中使用 installutil 工具安装它。但是我得到一个异常(exception)。我设法找出我的代码的哪一部分导致了异常 - 使用一些糟糕的日志记录但无论如何 - 但现在我想了解原因。所以我想做的是调试我的 Windows 服务的安装。

我知道如何调试服务本身,但在这里,我想调试服务中我的 Installer.Install(IDictionary stateSaver) 方法的内容。

我尝试将调试器附加到 cmd.exe 进程,但它显然不起作用。我也在考虑将调试器附加到 installutil 进程,但我不知道如何执行此操作。

我看过这篇文章:How do you debug a windows service that is being installed?和其他几个人,但在这种情况下,出于某种原因,这个人似乎已经在 services.msc 中提供了他的服务,而我的情况并非如此。

我怎样才能做到这一点?

最佳答案

你可以放一个Debugger.Break();安装程序代码中的语句,它应该会为您启动调试器。

关于c# - 如何调试自定义 Windows 服务的安装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9498509/

相关文章:

c# - 使用 TestStack.White 进行测试时如何操作 DataGrid 值?

linux -/proc/kmsg 和 dmsg 有什么区别?

c++ - 为什么 std::hash<int> 似乎是恒等函数

c# - 我的 Windows 服务中的 .psess 文件是什么?

"members"上的 C# 扩展方法

c# - 如何更改 Entity Framework Core 2.2 中的 ILazyLoader 实现?

.net - 当发布 dll 不起作用但调试 dll 起作用时

java - 将java应用程序部署为Windows服务,无需安装第三方软件

c++ - 创建只能由 Windows 服务打开的文件

c# - "Value cannot be null"从一个或多个值为 null 的属性创建 XElement 时