用DELPHI进行NT、2000、2003服务程序的调试

2016-02-19 19:58 16 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐用DELPHI进行NT、2000、2003服务程序的调试,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - 编程语言 】

NT服务程序的调试

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)


  ----------摘自书籍Delphi 6 应用开发指南

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  
   有两种途径可用于调试服务程序。第一种是在单独的类中定义服务的工作部分,并在一个单独的程序中对其进行调试。第二种是在服务运行时进行调试。第一种途径是个好主意;把负责服务工作的类添加到通常的程序是测试服务行为的最容易的方法,而且保持了与工作台测试的思想的一致性。
   我们使用第一种方法,在创建ServiceApp 和TestMailer(本书光盘上也有)这两个程序时进行测试。把同样的组件TIdMessage、TTimer 和TIdSTMP 添加到一个单独的程序,然后创建一个邮件发送器。当找到TestMailer 程序的缺陷后,所有的修改都更新到服务程序。创建工作台或测试程序是很容易的,但并不总是够用。
   第二种测试服务程序的途径是:安装并运行服务程序,然后将其附加到Delphi 中的运行进程。按照下列步骤,即可在运行服务时调试ServiceApp.exe 程序。
  1. 在命令行运行Serviceapp.exe /INSTALL,安装服务程序。
  2. 选择Start | Settings | Control Panel | Administrative Tools | Services,将运行Services 小应用程序。找到MyService,然后单击Start Service 工具栏按钮(这些步骤适用于Windows 2000;在Windows NT4.0 中的步骤几乎相同)。
  3. 运行Delphi。
  4. 装载ServiceApp.dpr 工程。
  5. 在Delphi 中选择Run | Attach to Process 菜单项。
  6. 在Attach to Process 对话框(如下图所示)中,选中Show System Processes 复选框。
   
  7. 找到ServiceApp.exe,然后单击Attach 按钮。
  8. 在Delphi 中,对工程源文件的OnExecute 事件方法设置断点,然后按键F9。
  图B.3 Attach to Process 对话框可用于将Delphi 调试器附加到已运行的进程上;这对于调试服务程序是很有用的
   Delphi 将把调试器附加到运行的服务程序上,并打开CPU 对话框。除非您阅读汇编语言非常流畅,否则CPU 视图用处不大。但当服务程序运行到断点时,将停止在断点上并切换到Delphi 代码视图。在用户通过Delphi 获取对已运行服务的控制之后,即可像其他程序一样对服务进行步进和调试。
   注意:作为开发者,您应该对自己的PC 具有管理员权限。令人难以置信的是,有些组织信任开发者编写的代码但却不允许他们管理自己的PC。现在的经济形势仍然很好,找一份新工作吧。
   Delphi 帮助文档提到,如果权限不足,那么附加到服务进程可能会失败。当只要对PC 拥有管理员权限,附加到运行的服务进程总是工作正常。帮助主题“Debugging Services”包含了调试服务的第三种途径,其中涉及到修改注册表设置,您可以参考。

  

叶正盛
  2005-05-22

来源:http://www.tulaoshi.com/n/20160219/1622439.html

延伸阅读
标签: 办公软件
    分工与合作越来越成为现代办公的常用方式,Office 2003充分考虑到了这点,可以很方便地让很多员工合作完成同一个办公项目。 一、协同办公的概念 协同办公就是多个人共同完成同一个项目,在此我们可以理解成针对Word中的一篇文档,可能需要几个人同时对它进行编辑。如果采用先部分编辑,再整合的话,那样不仅费时...
教师的责任与义务从未因为时代的变迁而削弱过,教育本身的特殊性使教师成为知识的传播者和人类灵魂的塑造者。而作为中小学的班主任教师,需要担负的责任却远比这要实际得多,也繁琐得多。庞杂的学生基本信息需要管理和上报,班级日常事务要纳入班级管理日志中,学生的思想问题需要面对面个别解决,凡此种种,往往令班主任顾此失彼。如何能够...
标签: Delphi
  当你完成一个应用软件的开发后,那么你还需要为该软件做一个规范化的安装程序,这是程序设计的最后一步,同时也是很重要的一步,因为运行安装程序往往是用户做的第一步操作。 很多报刊文章介绍了许多如何利用installshield等工具软件来制作安装程序的方法,这种办法可以很快建立起较常见的安装模式,但用这种办法也有一些...
现在网络的流行,使得服务器程序得到了广泛的应用,那么我们使用Delphi如何设计出强壮的服务器呢? 有人说,如果要设计服务器的话,一定要使用VC来设计,其实这个人说的有一定道理,因为如果你要使用Delphi来设计服务器的话,要想设计高效的服务器就不要使用Delphi带来的大部分的控件(最好不要使用Delphi控件),为什么呢?下面我会...
标签: Web开发
第一种: 如果你使用的是WinXP或者Win2kPro版的系统,你不会出现这个问题,因为你只能把网站放在C:\intpub\wwwroot目录下,这个目录默认的是http://localhost,是本地站点目录,不需要任何设置就可以调试。如果你是Win2kServer版本,想尽快解决这个问题,你使用IIS管理器把你的解决方案目录变成localhost的一个虚拟目录即可,立即可以进行调...

经验教程

693

收藏

18
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部