本文主要介绍如何调试ASP服务端组件技术包括这个复杂出错信息:
、ASP 0115 Error
2、代码在单独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进程而产生
第 2种情况:你是否遇到过这种尴尬情况自己写代码如果是在个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
Processes.从列表框中找到进程inetinfo,然后单击OK
下步你要确保symbols已经被转载入内存从Project菜单中,单击Settings选择Debug页,从Category下拉框中选择
Additional DLLs\'如果你没有在列表中看到你编写组件单击第行空行然后输入文件名或则选择那个\'...\'按钮来
查找这个文件名单击OK
好了现在你已经装载了你symbols,你需要装载些源代码从File菜单中选择Open.找到你想调试源文件如果
你组件是使用VB编写话确保在Files of Type下拉框中选择所有文件类型然后找到你需要文件后单击Open
好了现在你可以在你代码中放置断点设置观察值查看堆栈等等就象你在调试个传统exe样了
最新评论