这种情况可能有以下几种原因:
1、部署的服务的dll和exe必须是C#项目下debug目录的程序,就是说使用debug目录下的程序部署windows服务,这样才通过附加到进程的方式进行调试
2、设置的断点已经执行完成,你再设置断点也不会再执行了。可以windows服务启动位置加上ThreadSleep(20000);
3、确认你的断点位置是否正确,是不是永远也不会执行到。
4、如果这些都不行,就将你的解决方案重新生成一次。如果原来可以调试,这样清理完后应该可以。
Windows服务的OnStart方法无法调试,因为它是在服务启动时自动调用的,而不是在程序中显式调用的。要调试OnStart方法,可以使用以下步骤:
1 在Visual Studio中打开你的Windows服务项目。
2 在“解决方案资源管理器”中右键单击你的服务项目,然后选择“属性”。
3 在“应用程序”选项卡中,将“启动类型”更改为“手动启动”。
4 点击OK来保存更改。
5 右键单击你的服务项目,然后选择“以调试器运行”。这将在Visual Studio中启动你的服务并允许你在OnStart方法上断点并进行调试。
6 当你完成了调试工作之后,右键单击你的服务项目并选择“停止调试”来停止服务。
7 最后,再次右键单击你的服务项目并选择“属性”,将其重新切换回原来的启动类型。
em是一种高级调试模式
DEBUG,意为程序除错的意思。为马克1号编制程序的是一位女数学家雷斯霍波,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,竟成为后来计算机领域的专业行话。如DOS系统中的调试程序,程序名称就叫DEBUG。DEBUG在windows系统中也是极其重要的编译 *** 作。
调试是保证所提供的设备能够正常运行的必须程序,所有费用由设备提供商负担。由于服务必须从服务控制管理器的上下文中运行,而不是从VisualStudio中运行,因此调试服务不像调试其他VisualStudio应用程序类型那样简单。若要调试服务,必须首先启动服务,然后将一个调试器附加到正在运行服务的进程中。然后可以使用VisualStudio的所有标准调试功能来调试应用程序。
以上就是关于用VS 2005 C# 想调试服务 可是将服务开启 并附加到进程后 设上断点 调试还是进不去各位帮帮全部的内容,包括:用VS 2005 C# 想调试服务 可是将服务开启 并附加到进程后 设上断点 调试还是进不去各位帮帮、c#windows服务onstart无法调试、em is an advanced debug mode等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)