调试ASP服务端的组件技术

  本文主要介绍如何调试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一样了。

时间: 2024-08-04 13:45:53

调试ASP服务端的组件技术的相关文章

如何调试ASP服务端的组件技术

如何调试ASP服务端的组件技术 本文主要介绍如何调试ASP服务端组件技术,包括这个复杂的出错信息: 一.ASP 0115 Error. 二.代码在单独的EXE文件里面运行良好,但是一旦放入ASP中产生调用失败的信息 本文背景: 第一种情况:你在你的浏览器中可否看见过这种信息呢? Error \'ASP 0115\' Unexpected error file://.asp A trappable error occurred in an external object. The script c

以前收集的一些资料---如何调试ASP服务端的组件技术

        如何调试ASP服务端的组件技术    本文主要介绍如何调试ASP服务端组件技术,包括这个复杂的出错信息:    一.ASP 0115 Error.    二.代码在单独的EXE文件里面运行良好,但是一旦放入ASP中        产生调用失败的信息本文背景:    第一种情况:你在你的浏览器中可否看见过这种信息呢?Error 'ASP 0115'Unexpected error/<Web Name>/<ASP file name>.aspA trappable er

使用HTTP/2服务端推送技术加速Node.js应用

四月份,我们宣布了对 HTTP/2 服务端推送技术的支持,我们是通过 HTTP 的 Link 头部来实现这项支持的.我的同事 John 曾经通过一个例子演示了在 PHP 里支持服务端推送功能是多么的简单. 我们想让现今使用 Node.js 构建的网站能够更加轻松的获得性能提升.为此,我们开发了 netjet 中间件,它可以解析应用生成的 HTML 并自动添加 Link 头部.当在一个示例的 Express 应用中使用这个中间件时,我们可以看到应用程序的输出多了如下 HTTP 头: 本博客是使用

c# asp服务端控件每次提交的时候都会刷新load 一刷新就会出错误

问题描述 c# asp服务端控件每次提交的时候都会刷新load 一刷新就会出错误 c# asp服务端控件每次提交的时候都会刷新load 一刷新就会出错误 可以让它不刷新提交吗?(求思路)) 解决方案 在pageload处,判断ispostback 解决方案二: Page_Load里加个判断 if(!IsPostBack) { //这里面写代码 } 还有一刷新就会出错误,明显代码有问题. 解决方案三: 不明白 ajax用的少 能详细点吗?

使用 HTTP/2 服务端推送技术加速 Node.js 应用

netjet 使用了带有定制插件的 PostHTML 来解析 HTML.目前,netjet 用它来查找图片.脚本和外部 CSS 样式表.你也可以用其它的技术来实现这个. 在响应过程中增加 HTML 解析器有个明显的缺点:这将增加页面加载的延时(到加载第一个字节所花的时间).大多数情况下,所新增的延时被应用里的其他耗时掩盖掉了,比如数据库访问.为了解决这个问题,netjet 包含了一个可调节的 LRU 缓存,该缓存以 HTTP 的 ETag 头部作为索引,这使得 netjet 可以非常快的为已经解

LoadRunner+Android模所器实现抓包并调试本地服务端

为了测试Android软件的服务端的功能,需要重现某些客户端操作,便于发现功能问题,性能问题.也方便客户端与本机服务端特别是服务端代码进行断点调试.这个时候需要对网络操作进行重现. loadRunner是hp公司开发的压力测试工具.功能比较强大,能够启动程序并对其网张通信行为进行监控,抓包,并重放. 0.Android模拟器创建虚拟设备. 1.录制模拟器脚本设置 新录制脚本时,程序类别选择Win32 Applications, 将记录的程序选到安卓模拟器程序emulator的本地路径地址,不知道

服务端 VBScript 与 JScript 几个相同特性的写法

本文演示了ASP服务端脚本的几个重要应用. 目录: 1.遍历集合/对象 1.1 VBScript 遍历表单集合 1.2 JScript 遍历表单集合 2.转变量值为变量, 并赋值 2.1 VBScript 转变量值为变量并赋值 2.2 JScript 转变量值为变量并赋值 3.动态包含文件 3.1 VBScript 动态包含文件 3.2 JScript 动态包含文件 以下为引用的内容: 1.遍历集合/对象 1.1 VBScript 遍历表单集合 linenum <%     for each t

服务端VBScript与JScript几个相同写法

js|jscript|vbscript 服务端 VBScript 与 JScript 几个相同特性的写法 摘要:本文演示了ASP服务端脚本的几个重要应用. 1. 遍历集合/对象 1.1 VBScript 遍历表单集合 linenum <%      for each temp in request.Form          response.write temp&": "&request.form(temp)      next  %>  1.2 JScr

服务端 VBScript 与 JScript 几个相同特性的写法与示例_应用技巧

By shawl.qiu 摘要: 本文演示了ASP服务端脚本的几个重要应用.  目录: 1. 遍历集合/对象 1.1 VBScript 遍历表单集合 1.2 JScript 遍历表单集合 2. 转变量值为变量, 并赋值 2.1 VBScript 转变量值为变量并赋值 2.2 JScript 转变量值为变量并赋值 3. 动态包含文件 3.1 VBScript 动态包含文件 3.2 JScript 动态包含文件 shawl.qiu 2006-10-11 http://blog.csdn.net/bt