帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP.NET编程
程序的追踪及检视
作者:佚名 发布时间:2005-04-02 来源:不详
 


    要让程序继续执行,只要按下「Continue」按钮就会执行目前断点以下的程序代码。由于我们这个例子在循环中执行,因此程序执行下一个I 时又会停在这一行。由于刚才我们把I 的值改成1,所以只要再按两次Continue 后I 的值为3,程序执行完毕;最后网页出现我们程序的结果:



Step...
要更详细的执行程序,可以使用Step Into、Step Over 以及Step Out。我们以下列程序为例:

<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object,e As EventArgs)
Dim I As Short
For I = 0 To 5
Test(I)
Next
End Sub
Sub Test(ByVal J As Short)
Response.Write("I=")
Response.Write(J.ToString())
Response.Write("<br>")
End Sub
</Script>

上述范例中我们在呼叫Test 这个程序的叙述加入断点,然后浏览EX11.aspx,即进入中断模式;如下图所示:



我们按下「Step Into」按钮,发现黄色箭头即往下移动一行,再按「Step Into」一次,程序即跳入Test 这个程序中执行:



接下来我们直接按下「Step Out」按钮,发现程序的执行跳出Test 这个程序,而停留在呼叫Test这个程序的下一行叙述:


 
   「Step Out」不是逐行执行,而是一口气将程序内的所有程序代码执行完毕,再跳到呼叫该程序的下一行。接下来我们按下「Step Over」按钮,发现程序还是一次执行一行,而停在「Test(I)」这个叙述上。我们再按一次「Step Over」按钮时,发现程序并没有跳入Test 程序中,而是停留在「Next」上面,如下所示:



这是因为「Step Over」遇到过程调用时,一次就将程序内的程序执行完毕,并不一行一行的执行所致。



Locals Window
    我们在上述例子追踪程序时,对于变量的检视还要跳到实时运算窗口输入「?」来观察,实在不太方便。此时我们可以利用Locals Window(区域窗口),Locals Window 可以列出目前所在程序中的所程序阶层变量以及对象的值,如下图所示:



    我们观察到变量I 的内容为1,而且型态为Short。其中除了变量I 之外,还一并列出了其它项目。Me 代表目前的Page 对象,我们可以展开来观察Page 对象的所有成员,而Sender 表示触发此程序的对象为何,e 则是代表参数对象的内容。当我们再按一次「Step Over」时,发现LocalWindow 中的变量I 自动由1 更新为2:


Locals Window 除了可以显示变量以及对象的内容外,在Locals Window 中也可以直接修改变量或对象的值。例如我们将I 的值更改为3,如下图所示:



接下来我们按下「Step Into」按钮跳入Test 程序中,发现Locals Window 会自动显示Test 程序中的变量J,如下所示:



Call Stack
    Call Stack 可以让我们追踪程序之间的呼叫关系。程序在执行的时候若遇到过程调用,原来的程序便会暂时停止执行而进入程序中执行;待程序执行完毕后,才又会回到原先的程序中执行。此时这些程序的执行就像堆积木一样,先执行的放下面,后执行的再堆上去;必须要等到后面堆上去的程序执行完毕后,才执行迭在下方的程序。这种执行的方式我们称为「先进后出」,也可以称为「堆栈」。一但程序比较复杂时,一定会有这种程序内呼叫其它程序的状况,此时要追踪这种我们称为「堆栈」的过程调用,就可以利用「Call Stack」。由于刚刚我们跳入了Test 这个程序内,我们知道Test 程序是在Page_Load 事件程序中被呼叫的,所以除了Test 目前是最高层的程序之外,它的下一层就是Page_Load 程序。我们按下「Call Stack」按钮来观察,如下图所示:



    我们发现Call Stack 窗口中的最上层对象果然是Test 程序,并且在前面用黄色箭头标注,表示目前程序在这个程序中执行。如果我们要追踪Test 程序被上层所呼叫的地址,还可以在Page_Load 程序上双击鼠标左键,除错器便会以绿色箭头标出,如下图所示:


Quick Watch
    Quick Watch(快速检视)是另外一种可以快速检视变量值的窗口。我们可以将键盘光标停在想要观察的变量上,然后按下「Quick Watch」按钮或按鼠标右键选择,如下图所示:


选择「Quick Watch」后即出现变量的数据,如下图所示:


另外注意立即运算窗口以及Quick Watch 可以检视的变量,只限制于目前所在的程序内。

Watch Window
Watch Window(监视窗口)是另一个可以检视变量值的工具,我们点选「Watch Window」显示Watch Window,如下图所示:



    接下来我们可以在想要监视的变量上按鼠标右键,选择「Add Watch」;或是先将变量标记下来,然后利用拖放的方式将变量拖到Watch Window,如下图所示:



    而Watch 窗口中显示的值可以在10 进制或16 进制切换,只要在Watch 窗口中按下右键并核取或取消「Hexadecimal Display」选项,即可切换显示的方式。

接着我们用Step Into 按钮逐行执行,可以看到变量的内容变化。

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·如何成为一个优秀的jsp程序员  (2005-04-02)
 ·利用JSP 2.0开发Web应用程序  (2005-04-02)
 ·想成为一个JSP网站程序员吗?  (2005-04-02)
 ·Java Servlet开发三层数据库程序  (2005-04-02)
 ·利用JSP“抓”网页代码的程序  (2005-04-02)
 ·运用J2EE创建灵活易扩展的企业应  (2005-04-02)
 ·J2EE 应用程序开发:专业设计师的  (2005-04-02)
 ·J2EE 应用程序中的数据管理和数据  (2005-04-02)
 ·Windows2000下安装J2EE和部署J2E  (2005-04-02)
 ·构建J2EE应用程序的任务列表  (2005-04-02)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统