优秀的软件开发团队:深圳升蓝软件 数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类     
热门推荐
升蓝OA办公自动化系统
基于.Net技术的网络
协同办公环境
 
ASP基础
数据库相关
安全加密
全文检索
ASP应用
打印相关
客户端相关
XML相关
系统相关
正则表达式
ASP技巧
组件开发
脚本编码
FSO专题
邮件相关
远程脚本
性能优化
 
相关链接
深圳升蓝软件:系统集成、办公自动化平台、电子商务、电子政务、Web数据库、企业网站、游戏、手机应用程序、CDMA软件、电子出版物等,为客户提供优秀的解决方案
 
升蓝(www.hi-blue.com)为企业管理、政府办公提供成熟的、易于实施的IT技术服务,我们的解决方案包括OA办公自动化系统CRM客户关系管理系统ERP企业生产管理和订单管理系统电子政务系统、知识管理系统、企业门户、商业智能、工程项目管理等等...
 
电子政务解决方案
塑料/橡胶管理系统
知识管理系统简介
多媒体光盘方案
ERP企业资源管理
订单计划管理系统
PM工程项目管理系统
会员管理系统
相关资料下载
OA办公自动化系统
CRM客户关系管理系统
在线试用版本说明
OA 系统的用户手册
 
 
 
 
升蓝开发团队 > 技术资料 > ASP技术 > 组件开发 : 调试ASP服务端的组件技术

调试ASP服务端的组件技术


March 25,2004

  本文主要介绍如何调试ASP服务端组件技术,包括这个复杂的出错信息:

  一、ASP 0115 Error。

  二、代码在单独的EXE文件里面运行良好,但是一旦放入ASP中产生调用失败的信息本文背景:

  第一种情况:你在你的浏览器中可否看见过这种信息呢?

  Error 'ASP 0115'Unexpected error/<Web Name>/<ASP file name>.aspA trappable error occurred in an
external object. The script cannot continue running.

  这就是令每个程序员都头疼的ASP 0115错误,这个错误可以由很多原因而导致的。也许许多人会推测可能是由于微软
本身的bug而导致的,并抱怨是由于微软没有给出响应的补丁。

  其实在实践中有一些确实如此,但是大多数情况下事实并不是如此。而很多是由于你自己写的代码中错误的访问了
Inetinfo.exe的进程而产生的。

  第二种情况:你是否遇到过这种尴尬的情况,自己写的代码如果是在一个exe项目种能够良好的运行,但是一旦你从一
个ASP页面种调用它的时候,就会失败呢?

  同样,发生这个现象的原因也很多,而其中的大多数原因是由于ASP是运行在一个特定的系统帐号下的,在这样的背景
下,它运行的权限是一个不容忽视的问题。

  我想,做了这么久的程序员,很多人都有丰富地单独调试一个EXE程序的经验了,但是当你是在编写运行在IIS环境下
的程序时,你将面临和传统的调试更多的挑战。

  尽管可以使用VB或则VC++来编写ASP的组件,但是VC++的调试器都将是你最好的调试工具。

  准备好你的组件

  为了调试你编写的组件,你必须要有调试需要的信息。Symbols允许在你的组件出错时显示出是你编写的代码中的第几
行出现了错误。

  那我们在VB中如何生成组件需要的symbols呢?

  如果你的组件是使用VB编写的话,你可以通过选择Compile菜单中的ProjectProperties命令来建立你的组件的调试信
息.

  确保你将代码编译成'Native Code'和使用'No Optimization'.

  那我们在VC++中如何生成组件需要的symbols呢?

  如果你的组件是使用VC++编写的话,最简单的方法是选择调试配置来生成调试信息。从Build菜单中单击'Set Active
Project Configuration'.你将发现'Win32 Debug'这个选项。或则,你可以手工来定义组件需要包含的调试出错信息,选
择Project菜单中的Settings然后到Link页.确保Generate debug info被选中。

  开始调试进程

  在前面已经提到了,我们将使用VC++来完成调试工作。好,运行它,当然没有必要建立一个项目或则工作间了。

  选择Build菜单中的Start Debug中的Attach to Process.在Attach to Process对话框中,选中Show System
Processes.从列表框中找到进程inetinfo,然后单击OK。

  下一步,你要确保symbols已经被转载入内存。从Project菜单中,单击Settings选择Debug页,从Category下拉框中选择
Additional DLLs'如果你没有在列表中看到你编写的组件,单击第一行空行,然后输入文件名,或则选择那个'...'按钮来
查找这个文件名,单击OK。

  好了,现在你已经装载了你的symbols,你需要装载一些源代码。从File菜单中选择Open.找到你想调试的源文件。如果
你的组件是使用VB编写的话,确保在Files of Type下拉框中选择所有文件类型,然后找到你需要的文件后,单击Open。

  好了,现在你可以在你的代码中放置断点,设置观察值,查看调用堆栈等等就象你在调试一个传统的exe一样了。
       
数据库开发 | .Net技术 | ASP技术 | PHP技术 | JSP技术 | 应用技术类 | 升蓝开发小组
Copyright ? 2001-2004 Shenzhen Hi-blue Software Team 升蓝开发小组 All rights reserved