C#.net 4.0写的windows服务,启动就出错,该怎么调试呢?

网上看了很多调试方法,但前提都是要先启动服务才能调试。在可能出错的地方加入文件输出参数的方式又太麻烦了··OnStart里边只有初始化消息队列和启动线程的操作,其他什么都... 网上看了很多调试方法,但前提都是要先启动服务才能调试。
在可能出错的地方加入 文件输出参数 的方式 又太麻烦了··
OnStart里边只有初始化消息队列和启动线程的操作,其他什么都没有了。。。
怎么变成Console Application呢?我有更改main函数,可以调试断点了,但运行后没有控制台。

日志中只有堆栈信息哈。最多能跟踪到某个函数
展开
 我来答
junyi0124
2011-01-01 · TA获得超过577个赞
知道小有建树答主
回答量:326
采纳率:0%
帮助的人:283万
展开全部
启动就出错,错误会在你的事件日志里面,eventvwr.msc 打开你的事件查看器,最新的错误应该出现在Windows日志\应用程序里面。

=================================================
把服务调整成控制台程序的方法确实可以用来调试,但是不是所有的情况适用。有个别的情况,完全相同的代码在不同的程序类型中,其结果是不同的。比如Environment.CurrentDirectory的返回值是不同的。
如果你想在服务运行的时候记录一些日志在服务所在的目录里,那么最好用ConfigurationManager.AppSettings["你的配置节点名"]来设置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你是谁LCqTt
2010-12-28 · TA获得超过602个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:850万
展开全部
在本机你可以先你你的服务项目类型变成Console Application,并把你OnStart里的逻辑移到Main方法运行,看有没有问题。
还有可能就是你的OnStart里的处理逻辑太耗时,可以将这些操作移到新线程去执行。

你的工程的属性页(Properties)里面的输出类型(output type )
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
knife_q
2010-12-28 · 超过24用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:60.1万
展开全部
在OnStart里让线程sleep一段时间(20秒应该够了),在sleep这段时间中,迅速把这个服务的进程附加到VS里,这样可以调试sleep之后的代码了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叶开me
2010-12-30
知道答主
回答量:43
采纳率:0%
帮助的人:0
展开全部
可以写个控制台程序 调用 你的服务代码
可以写日志
可以 写个form程序 调用你的服务代码
都可以
就看你 怎么方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式