首页 > 系统相关 >调试Windows Service

调试Windows Service

时间:2022-11-27 16:05:29浏览次数:52  
标签:Service service Windows 代码 OnStart 调试 调试器


    通常的处理办法是, 在service运行后, 在调试器中选择attach to process.

    然而这种做法也有一定的局限性, 例如在service启动时的OnStart事件中的代码, 基本上很难调试. 往往当attach到我们的service的时候, 这部分代码已经执行过了. 于是, 有人提出, 可以另写一个project来调用这个OnStart方法, 或将OnStart方法中的代码搬到另一个project中测试. 不过, 这些方法终究不是以windows服务的方式调试的, 不能够最真实的反应service运行时的执行状况(如权限问题等环境问题).

    我的做法是, 在OnStart方法的最开始部分加上"Debugger.Launch()"的调用, 当Service运行到此处时, 将会弹出一个选择调试器的对话框, 同时暂停在当前位置. 这样, 我们就做到了在代码中手动的启动调试器.

    示例代码如下:

public partial class MyService : ServiceBase{public MyService(){ 
InitializeComponent();

}



protected override void OnStart(string[] args){Debugger.Launch(); //Launches and attaches a debugger to the process.(启动和附加调试器进程)// TODO: add your initialize code here.(在这里添加你的初始化代码)
}



protected override void OnStop()
{
}

}

标签:Service,service,Windows,代码,OnStart,调试,调试器
From: https://blog.51cto.com/u_1236522/5890096

相关文章

  • Python安装(Windows)
    个人喜欢从官网直接下载具体版本安装,然后通过cmd的pip安装其他包。1、官网下载Python,PythonReleasesforWindows|Python.org2、安装选择允许添加路径到系统环境,选择......
  • 分布式配置统一管理平台-Windows
    这里主要使用到disconf分布式配置管理平台支持window和linux下面是大家window环境步骤和一些操作总结。Git-2.6.4-64-bit.exe 1.下载并解压缩     nginx,解压缩到......
  • 【spark】org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/Strin
    idea中运行spark项目出现:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z网上的方法很多,最后试成功的只有修改源码的方法1.在源码中找到......
  • 适用于 Linux 的 Windows 子系统(WSL)安装指南
    (目录)WindowsSubsystemforLinuxWSL提供了一个微软开发的Linux兼容内核接口(不包含Linux代码),来自Ubuntu的用户模式二进制文件在其上运行。简单来说就是用Linux系统去......
  • Service详解之Service介绍
    Service介绍在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解......
  • 在Windows 7虚拟机上安装VMWare Tools时遇到回滚问题的解决
    我打算安装Oracle10g作为开发数据库,但是在windows10下安装遇到困难,再加上想减少对主OS的影响,决定安装windows7虚拟机。但是VMWareworkstationspro16和windows7虚拟机安......
  • SQL 2005 的存储过程和触发器调试大法
    SQL2005的存储过程和触发器调试大法(原创)      在SQL2000中,我们想要调试存储过程非常简单,只需要在对象浏览器中找到存储过程,然后点击鼠标右键选择“执行(调试)”就......
  • WebService传输DataSet的一点想法和实践-.NET教程,Web Service开发
    其实这个标题很大,实现起来也可以有许多的办法。甚至,应否这样做也许都能惹出许多的争论(比如,为什么用ws而不是remoting?为什么传dataset而不是entity[]?)。      由于ds......
  • Windows netstat 查看端口、进程占用
    目标:在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用.操作:操作分为两步:(1)查看该端口被那个PID所占用;方法一:有针对性的查看端口,使用命令Netstat–......
  • SAP-ABAP-BAPI 调试 SHP_DELIVERY_CREATE_FROM_STO 的 bug
    昨天晚上调试一个程序,奋战到将近3点才找到原因。问题就出在  SHP_DELIVERY_CREATE_FROM_STO 这个sap的标准函数上。再用简单的数据单独对这个函数测试。采购订单行项......