C#开发奇技淫巧一:调试windows系统服务
windows系统服务不能直接运行,只能在安装完服务之后启动、暂停、继续、停止服务,导致服务的调试不能使用一般的断点调试。
要调试系统服务,可以采用附加到进程的方式:在VS的工具栏中找到“调试”这个选项,然后选取“附加到进程”
然后选择相应的服务附加,再启动服务即可调试(前提是已经在服务的代码中打上了断点)
不过以上方法不能调试OnStart方法,即服务的启动并不能被调试到,这个时候,需要在OnStart方法中加上Debugger.Launch().这里有介绍:http://www.cnblogs.com/xzwplus/archive/2009/07/06/1129452.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件
原文: C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件 这两天忙着把框架改为支持加载C++和Delphi的插件,来不及更新blog了。 原来的写的框架只支持c#插件,这个好做,直接用c#的反射功能便可。但是公司不是所有人都搞C#,也不是所有的程序C#都能很好的完成,又或者其他公司提供的API不是C#的,这个时候,就需要这个框架能够支持多种语言了。 废话不多说,进入正题。 上网一搜,C#加载非托管的dll,无非就是使用 DllImportAttribute 。然而,这个属性里面要指明dll所在的路径,因为又是写在属性中,因此是在编译的时候就已经把路径写死了,不能动态指定路径加载。 于是又找了下,终于发现了c#中的一个函数:Marshal.GetDelegateForFunctionPointer。这个函数的功能就是将非托管的函数指针转换为委托。至此,任务完成。Dll的功能无非提提供各种函数,组成所谓的API,有了上述的方法之后,在C#中定义相关的委托(方法的参数列表和参数类型要跟非托管的Dll的参数类型和参数列表对应,具体的对应请google),然后调用上述方法,将非...
- 下一篇
Python语法教程总结规范
Python语法易错点记录 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心创新!助力记录 Python 语法中易错点、总结 ( 便于查询 ) 为新手节省宝贵的时间,避免采坑! Chinar 教程效果: 1 Python —— 解释性语言 2 Pragma —— 注释 3 Member Typeid —— 成员运算符 4 Identity Typeid / Comparision Operator ——身份 / 比较运算符 1. is 和 == 的区别 2. Python 中变量以内容为基准 5 Binary System —— 二进制 / 八进制 / 十进制 支持 May Be —— 搞开发,总有一天要做的事! 全文高清图片,点击即可放大观看 (很多人竟然不知道) 1 Python —— 解释性语言 Python —— 敬请期待 2 Pragma —— 注释 1、 Python 中的单行注释以 # 开头 #这是一个单行注释 print('Hello , Chi...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Hadoop3单机部署,实现最简伪集群
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker快速安装Oracle11G,搭建oracle11g学习环境