Home TOC Previous Next


7.2 概述

调试是指对您的程序进行修正或改良的过程,只有通过调试,您才能够保证您程序的正确性与可维护性。

Magic C++提供了一组完整的工具集合来帮助您完成排除程序或程序组件中的错误。

调试器界面为您提供菜单,对话框,表格等一系列元素。您可以在窗口中拖放各种调试信息。

有时调试器处于中断状态,表示调试器完成了一条调试命令,正在等待用户输入(例如在断点处中断,使用各种单步调试命令,使用Break命令强制中断等)。

7.2.1 调试菜单

与调试有关的菜单项分布在Build菜单,Debug菜单,View菜单与Edit菜单之中。Build菜单包含了一个Start Debug子项,该子项包括了Debug菜单的子集。以下命令可以开始进入调试状态(Go, Step Into, Run To Cursor 与 Attach to Process)。

当调试器在运行的时候Debug菜单将出现在菜单条中( 包括调试器在断点位置中断情况)。在Debug 菜单中,您可以控制程序的运行,查看QuilkWatch窗口。当调试器停止后,Debug菜单恢复为原来的Build菜单。

View菜单中可以显示监视窗口。

Edit菜单中,您可以使用断点对话框,添加,移除,禁止或生效断点。

7.2.2 Build/Debug菜单中的调试选项

要启动调试器,必须选择在Build菜单中的Start Debug子项中选择 Go, Step Into, Run To Cursor或Attach to Process。下表列出了Start Debug菜单中的一些命令:

启动调试命令 (Build 菜单)

菜单项

 

行为

 

Go

 

从当前语句开始执行代码直到遇到以下情况中断(等价于工具条中的Go按钮)

遇到断点

程序结束

程序等待用户输入

 

Step Into

 

逐条语句单步执行程序,并进入执行到的每一个函数体

 

Run to Cursor

 

执行程序,直到遇到光标所在的行。这等价于在光标位置设置一个临时断点

 

Attach to Process

 

调试一个已经运行的进程,您可以中断该进程并执行普通的调试操作,此命令可以用来对多进程程序进行调试

 

当您开始调试时,Debug菜单将替换原有的Build菜单,您可以使用以下命令控制调试器

Debug菜单命令

Debug menu
command

 


Action

 

Go

 

从当前语句开始执行代码直到遇到以下情况中断(等价于工具条中的Go按钮)

遇到断点

程序结束,

程序等待用户输入

在Debug菜单没有出现的情况下,您可以在Build菜单的Start Debug子项中找到本功能

 

Stop Debugging

 

中止调试进程,返回普通调试状态

 

Break

 

令程序在当前位置中断

 

Step Into

 

逐条语句单步执行程序,并进入执行到的每一个函数体

在Debug菜单没有出现的情况下,您可以在Build菜单的Start Debug子项中找到本功能

 

Step Over

 

逐条语句单步执行程序,并跳过执行到的每一个函数体

 

Step Out

 

跳出函数的调用,程序中断在函数调用语句的下一条语句位置。使用本命令,您在确认错误不在当前函数体内后,可以立即跳出本函数体

 

Run to Cursor

 

执行程序,直到遇到光标所在的行。这等价于在光标位置设置一个临时断点

在Debug菜单没有出现的情况下,您可以在Build菜单的Start Debug子项中找到本功能

 

以下是Debug菜单中的其它命令

Show Next Statement

 

显示您程序将要执行的下一条语句

 

QuickWatch

 

显示快速查看对话框,您可以查看或修改变量

 

7.2.3 调试窗口

有几个调试相关窗口可以显示您程序中的调试信息。当您处于调试状态时,您可以在View 菜单中打开这些窗口(作为对窗口的补充形式,调试器还使用了对话框来向用户传递调试信息)

以下列表列出调试相关窗口及其描述

调试相关窗口

窗口

 

作用

 

Output

 

在Build页中显示编译,连接或编译错误等信息,在Debug页中显示调试信息

 

Watch

 

在Locals页中显示有关当前函数局部变量信息,This页中显示this变量信息,Watch页中显示用户定义变量与表达式信息。

 

调试相关窗口可以是浮动或驻留的。要查看更多的浮动窗口信息,您可以改变浮动窗口大小,也可以将浮动窗口最小化,这样可以增加其它窗口的可视区域。您可以在任何的调试相关窗口中复制文本,但您只能在Output窗口中使用打印功能。

7.2.4 监视窗口

监视窗口包含3个Tab页,Local , this ,Watch。

·       Watch窗口使您能够快速访问与上下文相关的重要变量和用户自己希望查看的变量或表达式。

·       当您在监视窗口中添加了一个数组,对象或结构体变量时,变量名的左边将显示出加号(+)或减号(-),您可以单击这些符号来展开或关闭该变量下包含成员的列表。

·       当一个变量的值变为红色,表示该变量已经被程序修改。如果该变量是数组,对象或结构体变量,将自动展开该变量包含成员列表,确保您可以看到重要信息。

注意:监视窗口不显示变量的类型,如果您希望得到变量类型,请在编辑器中使用快捷菜单,单击Type Info。

·       Locals页显示当前函数中的局部变量。

·       This页显示This变量中的成员。

·       Watch页中显示您希望监视的变量或表达式。

7.2.5 调试相关对话框

快速监视对话框

快速监视对话框包含一个文本编辑框,在该编辑框中,您可以输入一个变量名称或表达式,在编辑框下方的表格中,将显示出该变量或表达式的当前值。您可以使用快速监视对话框快速检测一个变量或表达式的当前值,也可以使用快速监视对话框修改变量值或将变量添加到监视窗口中。

显示变量或表达式

如果您在编辑框中输入一个变量或表达式,快速监视对话框在表格中的第一行显示该变量或表达式的值。当您添加了一个数组,对象或结构体变量时,变量名的左边将显示出加号(+)或减号(-),您可以单击这些符号来展开或关闭该变量下包含成员的列表。

7.2.6 拖放

调试界面支持拖放操作,拖放操作的结果部分取决于您拖放的目的窗口。

例如,您可以从编辑窗口中将变量名称拖动到监视窗口。这个动作将变量添加到监视窗口中,该变量将与监视窗口一同更新。反之,如果您将一个变量拖动到编辑窗口,该变量将转化为文字。


Home TOC Previous Next

Copyright(c) 2003-2004 Magicunix,Inc.