C#.net 4.0写的windows服务,启动就出错,该怎么调试呢?
网上看了很多调试方法,但前提都是要先启动服务才能调试。在可能出错的地方加入文件输出参数的方式又太麻烦了··OnStart里边只有初始化消息队列和启动线程的操作,其他什么都...
网上看了很多调试方法,但前提都是要先启动服务才能调试。
在可能出错的地方加入 文件输出参数 的方式 又太麻烦了··
OnStart里边只有初始化消息队列和启动线程的操作,其他什么都没有了。。。
怎么变成Console Application呢?我有更改main函数,可以调试断点了,但运行后没有控制台。
日志中只有堆栈信息哈。最多能跟踪到某个函数 展开
在可能出错的地方加入 文件输出参数 的方式 又太麻烦了··
OnStart里边只有初始化消息队列和启动线程的操作,其他什么都没有了。。。
怎么变成Console Application呢?我有更改main函数,可以调试断点了,但运行后没有控制台。
日志中只有堆栈信息哈。最多能跟踪到某个函数 展开
4个回答
展开全部
启动就出错,错误会在你的事件日志里面,eventvwr.msc 打开你的事件查看器,最新的错误应该出现在Windows日志\应用程序里面。
=================================================
把服务调整成控制台程序的方法确实可以用来调试,但是不是所有的情况适用。有个别的情况,完全相同的代码在不同的程序类型中,其结果是不同的。比如Environment.CurrentDirectory的返回值是不同的。
如果你想在服务运行的时候记录一些日志在服务所在的目录里,那么最好用ConfigurationManager.AppSettings["你的配置节点名"]来设置。
=================================================
把服务调整成控制台程序的方法确实可以用来调试,但是不是所有的情况适用。有个别的情况,完全相同的代码在不同的程序类型中,其结果是不同的。比如Environment.CurrentDirectory的返回值是不同的。
如果你想在服务运行的时候记录一些日志在服务所在的目录里,那么最好用ConfigurationManager.AppSettings["你的配置节点名"]来设置。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在本机你可以先你你的服务项目类型变成Console Application,并把你OnStart里的逻辑移到Main方法运行,看有没有问题。
还有可能就是你的OnStart里的处理逻辑太耗时,可以将这些操作移到新线程去执行。
你的工程的属性页(Properties)里面的输出类型(output type )
还有可能就是你的OnStart里的处理逻辑太耗时,可以将这些操作移到新线程去执行。
你的工程的属性页(Properties)里面的输出类型(output type )
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在OnStart里让线程sleep一段时间(20秒应该够了),在sleep这段时间中,迅速把这个服务的进程附加到VS里,这样可以调试sleep之后的代码了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以写个控制台程序 调用 你的服务代码
可以写日志
可以 写个form程序 调用你的服务代码
都可以
就看你 怎么方便
可以写日志
可以 写个form程序 调用你的服务代码
都可以
就看你 怎么方便
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询