给服务进程加载debuger的方法允许您调试大多数的代码,但不是全部;例如:因为在调试时,服务已经开始运行了,所以用这种方法不能调试服务的OnStart方法和Main方法(用于加载服务)中的代码.对付这种问题的唯一方法就是,在您的服务应用程序中创建另外一个仅仅用于辅助调试的临时服务。您需要安装两个服务,然后启动这个"虚拟"服务加载服务进程。一旦这个临时服务启动进程,您就可以使用Visual Studio.NET 中的调试菜单,为服务进程加载debuger了上边的这句话能举个具体的例子吗,怎么在服务应用程序中创建另外一个仅仅用于辅助调试的临时服务?

解决方案 »

  1.   

    http://support.microsoft.com/kb/934650
      

  2.   

    楼上用Adplus抓内存,而且只在crash的时候抓内存,很不方便,我有一个最简单的方法。
    在Start()事件中,加一句话,Thread.Sleep(20*1000);//休眠20秒,在这20秒内,你用VS附加到进程,就可以调试了。
    我就这么玩的,一般可以在App.config加个开关,如果开的话,就在启动时休眠20秒
      

  3.   

    谢谢 service调试我会,我想问的是 “在服务应用程序中创建另外一个仅仅用于辅助调试的临时服务"这句话是什么意思,怎么创建临时服务?