c# - 如何定位 exit() 调用的来源

标签 c# windows-services

我正在尝试解决涉及托管 Windows 服务(C#、.NET 4.0)意外退出的问题。

如果服务在 Visual Studio 2010 附加到服务进程时意外停止,VS 会报告 [我的服务名称].exe 已退出,代码为 1 (0x1)。

通常我会简单地在服务代码中搜索退出代码。但是,在这种情况下,代码似乎不包含任何可能导致退出代码为 1 的 System.Environment.Exit() 调用。

我如何找出进程退出的位置(以及通过连接:为什么)?

如果它是相关的:该服务使用一些非托管对象。一些非托管对象间接与硬件接口(interface)。

最佳答案

有关发生的任何异常或意外停止的原因的详细信息,您需要从以下位置检查 Windows 日志

控制面板\所有控制面板项\管理工具
->事件查看器->Windows 日志 -> 应用程序

在源列下检查您的服务名称

关于c# - 如何定位 exit() 调用的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30129332/

相关文章:

c# - 在 Windows 将其注册为击键之前拦截 USB 键盘数据

c# - WPF TreeView 中的 "Link"项

c# - 试图了解如何创建流畅的界面,以及何时使用它们

c# - 无法捕捉屏幕

windows - 启动禁用的 Windows 服务?

c# - C#如何解决不同的扩展方法重载?

c# - 系统参数异常 : The table type parameter must have a valid type name

c# - Windows 服务可以在未登录的情况下启动应用程序吗?

visual-studio-2010 - 为什么在 Visual Studio 2010 中无法在本地化模式下添加组件?

java - 将具有自定义目录结构的 Java 程序作为 Windows 服务运行