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

        如何调试ASP服务端的组件技术
    本文主要介绍如何调试ASP服务端组件技术,包括这个复杂的
出错信息:
    一、ASP 0115 Error。
    二、代码在单独的EXE文件里面运行良好,但是一旦放入ASP中
        产生调用失败的信息
本文背景:    
第一种情况:你在你的浏览器中可否看见过这种信息呢?
Error 'ASP 0115'
Unexpected error
/<Web Name>/<ASP file name>.asp
A 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菜单中的Project
     Properties命令来建立你的组件的调试信息.
     确保你将代码编译成'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 0115 Error. 二.代码在单独的EXE文件里面运行良好,但是一旦放入ASP中产生调用失败的信息本文背景: 第一种情况:你在你的浏览器中可否看见过这种信息呢? Error 'ASP 0115'Unexpected error/<Web Name>/<ASP file name>.aspA trappable error occurred in an external object. The scr

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

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

以前收集的一些资料---XML在ASP中的一些运用

翻译得很蹩脚,望大家谅解,呵呵.Scriptlets - 一个更好的组织你的ASP代码的方法使用可扩展标志语言(XML)编写的脚本和组件和.XML被用来定义对象,方法,属性等等.同时脚本还提供函数.脚本语言可以是javascript, vbscript等等.运用在网站的运用程序和网站的普通例子,现在都可以被转换成scriptlets. 只要使用scriptlets 来写组件,他们可以再被从新使用在网站或则运用程序各部分,既可以使用在服务端(例如ASP代码)也能够被使用在客户端(例如浏览器)这里将

以前搜集的一些资料---如何在ASP中实现错误陷阱技术

错误 如何在ASP中实现错误陷阱技术(即实现VB中的所谓的On Error GoTo)代码如下(一共4个文件)1.error1.asp(用来生成错误)<html><head><title>输入数据</title></head> <body> <form method="POST" action="error2.asp" name="form1">  <div

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

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

以前收集的一些资料---如何在ASP中通过ODBC调用Excel中的数据

excel|odbc|数据                如何在ASP中通过ODBC调用Excel中的数据    在ASP中通过ODBC调用Excel中的数据方式和普通的通过ODBC调用数据库的方式有一些不同的地方.下面将介绍如何通过ODBC在ASP中使用Excel的数据.    在使用的过程中,要注意的是你需要使用的ODBC驱动为:Microsoft ODBC Driver for Excel. 下面给出一个例子来具体说明如何调用的过程:1.在Excel的电子表格中新建一个叫Range的表单a

以前收集的一些资料---如何使用ASP实现网站的“目录树”管理

使用ASP实现网站的目录树本来想多翻译些东西出来的,但是最近越来越忙了,以后我尽量多贴些短小的代码出来,翻译是越来越没空完成了.呵呵.数据库结构(共使用了两个表)1.tblCategory字段名  类型   Root   binary   说明树关或开(目录的根)ID     自动编号 关键字Sort   integer  识别该字段内容的整数(如果root是开状态sort为0)表示显示的目录的顺序Name   text(255)可以包含html中的标识符HREF   text(255) 允许空

以前收集的一些资料---如何使用ASP动态生成页面的祯结构

动态|页面                   让你的ASP控制Frame我以前说过使用response.redirect是不能够跳到另外一个Frame的把,呵呵,那么我们怎么来使用ASP来控制frame呢?下面将提供一个方法来解决这个问题.事实上,一共有两种方法控制ASP生成的HTML显示在哪一个Frame中.简单的是设置HTML的Form元素的基本标志即可.这个方法可以解决大多数简单情况下的页面定位问题.这个方法大家应该都见过,我就不详细说明了.但是问题是当出现一些复杂的情况时,我们怎么来控