【发布时间】:2011-05-11 17:00:06
【问题描述】:
我有一个 Windows 服务,它监视连接到供应商硬件的 COM 端口。这是一个非常繁忙的硬件,它不断地轮询线路上的其他设备(这是一个双绞线 RS485“网络”)。我的软件需要在这条线上模拟 X 数量的硬件设备,所以我使用多层状态机进行多线程处理,以随时跟踪通信协议的位置。
问题在于 Windows 服务(这是我的第一个服务,顺便说一句),您需要进行一些调试以告知您是否正常工作。当我第一次开发这个状态机/多线程代码时,我有一个带有 RichTextBox 的 windows 窗体,它显示 ASCII 字符在行上来回显示。似乎我真的无法通过服务获得那种 GUI 的好处。我尝试通过另一个程序在服务中打开一个表单,该程序发送通过 OnCustomCommand() 处理程序接收的服务消息,但它似乎不起作用。我检查了“允许服务与桌面交互”和所有内容。我正在使用调试表单的 Show() 和 Hide() 方法。
我想我不需要看到所有单独的角色上线,但是那肯定会很好(我想我真的需要看到他们:-))。那么有没有人有任何疯狂的想法可以帮助我?我不想让一些 IPC 使系统陷入困境,这些 IPC 并不意味着肯定会通过的大量数据。不过,这只是非常短期的调试,只需确认程序、RS485 转 USB 加密狗和硬件都正常工作。
【问题讨论】:
标签: winforms debugging windows-services