Vs2012调试本地windows服务
背景:
在我的工作经历中,我用到了一个我们以前学习中没有接触过的老东西—服务。之所说以前没有接触过,是因为自己没有系统的研究过这东西;之所以又说它是老东西,是因为我们其实早就知道他的存在,经常用它去干一些别的事情,不知道他原来还可以用来干这样或那样的事,可以这么用活着那么用。
一、什么是windows服务:
MicrosoftWindows
服务(即,以前的 NT
服务)使您能够创建在它们自己的 Windows
会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这种服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。在我们的电脑上这样体现:cmd命令:services.msc
二、如何做服务,怎么改服务:
今天我们先不谈如何写一个windows服务,我们先谈个简单的,如何用vs调试我们已经写好的windows服务:
1、 我们要把我们的服务项目设为启动项目,并且在服务程序代码内设置断点
2、 编译我们的服务项目
3、 安装我们的服务
4、 启动我们的服务
5、 在程序中单击调试,添加到进程(win+p)
6、 在展示列表中找到我们需要的服务,然后单击添加到进程
这时候,服务运行过程中就会在我们的断点处停下来,然后我们就可以像调试普通程序一样调试我们的服务了。需要我们注意的是,我们在调试过程中,每一次修改代码都需要重新编译,然后重新启动服务(有强迫症的兄弟们可以重新卸载然后重新安装服务,然后再启动)
三、详细介绍:
(一)如何安装服务:
1、 C:\Windows\Microsoft.NET\Framework\我们要启动frameword.net的版本
2、 Win+R——》cd C:\Windows\Microsoft.NET\Framework\我们要启动frameword.net的版本
3、 installUtil
服务.exe所在路径(二)如何启动服务
Win+R——》services.msc,选中自己需要启动的服务,右击,启动
(三)如何卸载服务
1、 关闭正在调试的服务程序
2、 重复安装服务的前两个步骤
3、 installUtil /u
服务.exe所在路径四、小结
本篇博客由于涉及某些原因,所以没有贴一些具体的图,通过此次工作,我又接触到使用到一个东西的新的领域,当然这是对我来说的。至于我的这个服务是用来干嘛的,大家可以理解是我是为了后台自动或者是定时解决某些问题来的就够了。如果有指教或者建议,欢迎留言!
Vs2012调试本地windows服务的更多相关文章
- VS2012编译的Windows服务启动后立即停止的解决方案
ATL中的BUG,在没有COM的服务中,使用_ATL_NO_COM_SUPPORT. 并在服务中添加下面的代码 #if defined(_ATL_NO_COM_SUPPORT) HRESULT Pre ...
- C#曲线分析平台的制作(五,Sqldependency+Signalr+windows 服务 学习资料总结)
在前篇博客中,利用interval()函数,进行ajax轮询初步的实现的对数据的实时显示.但是在工业级别实时显示中,这并非是一种最好的解决方案.随着Html5 websocket的发展,这种全双工的通 ...
- windows服务的创建、安装、调试全过程及引发的后续学习
前几天做项目的时候需要用到window服务,研究一段时间,算是掌握了最基本的使用方法吧,现总结如下: 引言:在项目过程中碰到一个问题:需要不断的扫描一个大型数据库表,并获取dataset,以便做后续的 ...
- Windows服务调试状态下用Console启动
最近一直在用服务,发现服务也没有那么难调试. Windows服务调试状态下用Console启动:步骤分两步 第一步改Program,启动代码 static class Program { /// &l ...
- 使用InstallUtil安装及卸载Windows服务的具体操作 Visual Studio 2012版本
关于Visual Studio 2012中使用InstallUtil对Windows服务进行安装与卸载的文章,在MSDN中的http://msdn.microsoft.com/en-us/librar ...
- 使用.NET Core创建Windows服务 - 使用.NET Core工作器方式
原文:Creating Windows Services In .NET Core – Part 3 – The ".NET Core Worker" Way 作者:Dotnet ...
- .net windows 服务创建、安装、卸载和调试
原文:http://blog.csdn.net/angle860123/article/details/17375895 windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境 ...
- .net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)
.net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...
- 关于windows服务的编写/安装/与调试
前注: 首先,这篇文章是从网上转过来的,因为最近有个项目,需要编写一个Windows Service来定时执行程序,网上很容易找到了这篇文章,大概看了一下,文章讲的还是很详细的.不过这篇文章应该是.n ...
随机推荐
- ffmpeg-20160506-git-bin
ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 f ...
- Effective C++ -----条款38:通过复合塑模出has-a或“根据某物实现出”
复合(composition)的意义和public继承完全不同. 在应用域(application domain),复合意味has-a(有一个).在实现域(implementation domain) ...
- Effective C++ -----条款13:以对象管理资源
为防止资源泄漏,请使用RAII(Resource Acquisiton Is Initialization) 对象,它们在构造函数中获得资源并在析构函数中释放资源. 两个常被使用的RAII class ...
- Greedy:Bound Found(POJ 2566)
神奇密码 题目大意:就是给你一个数组,要你找出连续的数的绝对值的和最接近t的那一串,并且要找出数组的上界和下界的下标,并显示他们的和 因为这一题的数有正有负,所以必须要先把和求出来,然后排序,然 ...
- linux下动态链接库解决方案(一)
1.c++无法直接调用用c写的动态链接库,如果调用的话可能需要用到一些交叉编译的知识: 2.在c++写的动态链接库无法被调用成功的反思: 在linux下,通常都是使用g++编译器("g++ ...
- java jsp调用shell(带参数)脚本并返回值
test.jsp <%@ page language="java" import="java.util.List,java.util.ArrayList,java. ...
- php与xpath使用操作文本节点
<?php $html="<p> 对于2014年,省统计局的统计分析显示,我省消费流通领域受诸多因素的影响,有机遇也有挑战.但值得注意的是,消费增长还存在不少制约因素,比如 ...
- Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
一.背景 最近在使用本地的tomcat进行运行项目的时候,发现出现了如题所述的问题.不知道什么原因,经过努力解决了该问题. 二.解决步骤 右击项目---选择属性---选择targeted runtim ...
- OpenGIS 介绍
转自:http://www.blogjava.net/sinoly/archive/2007/09/25/148002.html 值此FOSS4G大会即将召开之日,最近我会在Blog上依次介绍一些Op ...
- python基础——sorted()函数
python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个d ...