跟我学VS#语言编程技术在C#中调试 Windows 窗体的应用技术及应用示例.docx

上传人:b****5 文档编号:5689478 上传时间:2022-12-31 格式:DOCX 页数:15 大小:319.02KB
下载 相关 举报
跟我学VS#语言编程技术在C#中调试 Windows 窗体的应用技术及应用示例.docx_第1页
第1页 / 共15页
跟我学VS#语言编程技术在C#中调试 Windows 窗体的应用技术及应用示例.docx_第2页
第2页 / 共15页
跟我学VS#语言编程技术在C#中调试 Windows 窗体的应用技术及应用示例.docx_第3页
第3页 / 共15页
跟我学VS#语言编程技术在C#中调试 Windows 窗体的应用技术及应用示例.docx_第4页
第4页 / 共15页
跟我学VS#语言编程技术在C#中调试 Windows 窗体的应用技术及应用示例.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

跟我学VS#语言编程技术在C#中调试 Windows 窗体的应用技术及应用示例.docx

《跟我学VS#语言编程技术在C#中调试 Windows 窗体的应用技术及应用示例.docx》由会员分享,可在线阅读,更多相关《跟我学VS#语言编程技术在C#中调试 Windows 窗体的应用技术及应用示例.docx(15页珍藏版)》请在冰豆网上搜索。

跟我学VS#语言编程技术在C#中调试 Windows 窗体的应用技术及应用示例.docx

跟我学VS#语言编程技术在C#中调试Windows窗体的应用技术及应用示例

跟我学VS#语言编程技术——在C#中调试Windows窗体的应用技术及应用示例

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

1.1跟我学VS#语言编程技术——在C#中调试Windows窗体的应用技术及应用示例

1.1.1在C#中调试Windows窗体的应用技术及应用示例

1、创建或着打开待调试的Windows窗体C#项目

Windows窗体是最常见的VisualC#应用程序之一。

Windows窗体用来创建标准的Windows应用程序。

为了能够正确地掌握在VS.Net中调试Windows应用程序,首先必须关闭所有打开的解决方案,并创建或着打开待调试的Windows窗体C#项目。

1)创建待调试的Windows窗体C#项目(

从“文件”菜单中,选择“新建”并单击“项目”,即会出现“新建项目”对话框。

在“项目类型”窗格中,选择“VisualC#项目”;在“模板”窗格中,选择“Windows应用

名称”框中,为该项目提供一个唯一的名称(例如:

SimpleDebug);单击“确程序”;在“

定”。

(2)在Windows窗体中加入控件

此时,VS.Net将创建一个新项目,并在Windows窗体设计器中显示一个新窗体。

从“视

1杨教授工作室,版权所有,XX,1/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

图”菜单中选择“工具箱”。

在工具箱中,单击“按钮”(Button)控件并将该控件拖到窗体设计图面上,将该按钮放在窗体上。

在工具箱中,在“文本框”(TextBox)控件上单击并将该控件拖到窗体设计图面上,将该文本框放在窗体上。

(3)编程按钮的button1_Click函数

在窗体设计图面上,双击按钮。

这将转到代码页,光标将位于button1_Click函数中。

在button1_Click函数中,添加下面的C#代码:

privatevoidbutton1_Click(objectsender,System.EventArgse){

textBox1.Text="Buttonwasclicked!

";

}

(4)生成窗体的解决方案

从“生成”菜单中,选择“生成解决方案”;该项目应顺利生成,没有错误。

但应该设置为debug版,即请将可执行文件编译为包含符号文件(.PDB)的调试版本。

到此时将为调试准备好应用程序。

下面可以开始调试了。

2、调试所创建的Windows窗体

(1)设置为Debug方式

在解决方案配置窗口中右击解决方案名,然后在弹出菜单中选择“配置管理器”菜单项目。

2杨教授工作室,版权所有,XX,2/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

在对话框内将“活动的解决方案配置”选择为Debug方式,以为窗体产生调试信息。

(2)设置断点

1)方式一

在特定的行设置断点以暂停代码的执行。

在源窗口中,右键单击程序中的需要设置断点的某一行,并在弹出菜单中选择“插入断点”:

2)方式二

3杨教授工作室,版权所有,XX,3/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

使用断点属性对话框来设置条件(可以选择调试菜单---新断点,弹出该对话框)

最后,在代码中将出现一个红点并且该行上的文本突出显示为红色。

红点表示一个断点(当在调试器下运行该应用程序时,此调试器将在命中该代码时在该位置中断执行。

然后您可以查看应用程序的状态并调试它)。

(3)启动调试过程

从“调试”菜单中选择“启动”;Windows窗体开始运行;在此Windows窗体上,单击您添加的按钮。

在VisualStudio中,此操作将转到代码页上设置了断点的行。

该行将用黄色突出显示。

现在您可以查看应用程序中的变量并控制其执行。

应用程序现已停止执行,并等待您的操作。

4杨教授工作室,版权所有,XX,4/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

注意:

如果“活动的解决方案配置”设置为“Release”,则执行将不会在断点处停止。

这是在模拟实际发布程序的行为。

标记断点的圆圈将包含一个白色问号。

如有必要,请使用“配置管理器”对话框更改此设置。

3、常用调试窗口介绍

(1)调用堆栈窗口

1)打开

从“调试”菜单中选择“窗口”,然后选择“调用堆栈”。

2)作用

“调用堆栈”窗口使您可以查看调用堆栈上的函数名、参数类型和参数值。

仅当正在调试的程序处于中断状态时,才显示调用堆栈信息。

3)“名称”列

显示调用堆栈上每个函数的名称。

为了区分对同一函数的不同调用,每个名称都带有下列可选信息:

模块名(不可用于SQL调试)、参数名、参数类型参数值、行号、字节偏移量(不可用于SQL调试)

4)“语言”列

显示编写函数的语言。

如果不能从调试信息中确定语言,则该列为空。

(2)“局部变量”窗口

1)打开

5杨教授工作室,版权所有,XX,5/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

从“调试”菜单中选择“窗口”,然后选择“局部变量”(必须在进行调试时才能打开“局部变量”窗口)。

2)“局部变量”窗口包含三列信息:

名称:

该列包含当前范围内所有局部变量的名称。

结构和数组变量有一个树控件(TreeControl),可用来显示或隐藏元素。

值:

该列显示每个变量所包含的值。

默认情况下,整数变量以十进制格式表示。

可以在“选项”对话框->“调试”->“常规”中将表示形式更改为十六进制,也可以通过右击“局部变量”窗口并从快捷菜单中选择“十六进制显示”选项来进行此操作。

类型:

该列标识“名称”列中列出的每个变量的数据类型。

(3)“自动窗口”窗口

1)打开

从“调试”菜单中选择“窗口”,然后选择“自动窗口”。

2)作用

当调试本地应用程序和逐过程进行函数调用(F10)时,“自动窗口”窗口将显示这个函数以及可能由这个函数调用的所有函数的返回值。

3)“自动窗口”窗口包含以下信息

6杨教授工作室,版权所有,XX,6/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

名称:

当前语句和上一语句中的所有变量名。

当前语句是在当前执行位置处的语句,是

继续执行语句时要执行的下一条语句。

结构和数组变量有一个树控件(TreeControl),

可用于显示或隐藏元素。

值:

每个变量包含的值。

默认情况下,整数变量以十进制格式表示。

可以在“选项”对

话框->“调试”->“常规”中将表示形式更改为十六进制,也可以通过右击“自动窗

口”窗口并从快捷菜单中选择“十六进制显示”选项来进行此操作。

类型:

“名称”列中列出的每一变量的数据类型。

(4)“监视”窗口

1)打开

从“调试”菜单,选择“窗口”,然后选择“监视”,并单击“Watch1”、“Watch2”、“Watch3”或“Watch4”。

2)作用

可以使用“监视”窗口计算变量和表达式并保留结果。

还可以使用“监视”窗口编辑变量或寄存器的值。

)名称3

在该列中,可以键入调试器识别的任何有效表达式。

4)值

调试器计算出在“名称”列中显示的表达式,并将结果放入该列中。

如果表达式是变量或寄存器名称,可在该列中编辑此值以改变变量或寄存器的内容。

不能编辑const变量的值,只能编辑和显示本机代码应用程序的寄存器值。

可以在“选项”对话框->“调试”->“常规”中将值的数字格式更改为十六进制,也可以通过右击“监视”窗口并从快捷菜单中选择“十六进制显示”选项来进行此操作。

5)类型

该列显示变量或表达式的数据类型。

(5)命令窗口

1)打开

从“调试”菜单,选择“窗口”,然后选择“即时”。

7杨教授工作室,版权所有,XX,7/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

2)作用

“命令”窗口用于在集成开发环境(IDE)中发出命令或调试和计算表达式。

它有两种不同的模式:

“命令”和“即时”。

命令模式:

用于在VisualStudio.NET环境中直接执行VisualStudio命令而绕过菜单系

统,或用于执行不在任何菜单中的命令(如>Edit.Find可以打开查找对话框)。

即时模式:

用于调试用途、计算表达式、执行语句、打印变量或对象的值等。

在进行调

试应用程序、执行函数和语句等操作时,可使用“即时”模式查看并更改变量的值。

4、添加对数据的监视

窗口”,再选择“监视”,然后单击“Watch1(监视1)”。

在从“调试”菜单,选择“

“Watch1”窗口中,单击一个空行。

在“名称”列中键入textBox1.Text,然后按Enter键。

“Watch1”窗口显示变量textBox1.Text的值:

textBox1

5、执行单步跟踪程序语句

从“调试”菜单,选择“逐语句”。

“Watch1”窗口中TextBox1.Text的值将被更改为“Buttonwasclicked!

”。

8杨教授工作室,版权所有,XX,8/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

6、继续执行程序

从“调试”菜单中选择“继续”以继续调试程序;并在再次启动的Windows窗体上,单击按钮;VisualStudio再次中断执行。

7、取消断点

单击表示断点的红点。

这将从代码中移除该断点。

8、点击查看演示过程或者下载程序代码

1.1.2附加到Windows窗体以进行调试

程序员可以将调试器连接到已经运行的程序并对该程序进行调试。

无论程序是在主机上运行还是在远程计算机上运行,连接到运行程序后的效果都相同。

从而使所要调试的程序无须在VisualStudio.NET集成开发环境(IDE)中启动(VisualStudio.NET也能调试在VisualStudio之外启动的进程。

为此,必须启动VisualStudio并附加到正在运行的进程上)。

1、在上面创建的项目中,再次在添加的代码行上设置断点

2、从“调试”菜单中,选择“开始执行(不调试)”

此Windows窗体开始在Windows下运行,就像双击了它的可执行文件一样。

未附加调试器。

9杨教授工作室,版权所有,XX,9/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

3、从“调试”菜单中,选择“进程”(也可以从“工具”菜单使用“调试进程”)

4、在“可用进程”窗格中,在“进程”列中找到进程名(SimpleDebug.exe)并单击它。

10杨教授工作室,版权所有,XX,10/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

5、单击“附加”按钮

在“附加到进程”对话框中,选择“选择要调试的项目类型”下的“公共语言运行库”,然后单击“确定”。

您已将调试器附加到正在运行的Windows窗体上。

注意,进程已经添加到“进程”对话框的“已调试的进程”窗格中。

11杨教授工作室,版权所有,XX,11/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

6、单击“关闭”

在Windows窗体中,单击唯一的按钮。

调试器将在断点处中断Windows窗体的执行。

1.1.3在VS.Net中新增的调试功能

VisualStudio.NET对所有VisualStudio语言(包括VisualBasic和C#)提供了单一的集成调试器。

一个新的、统一的接口合并了VisualC++和VisualBasic调试器的功能,并增加了很多新功能。

1、跨语言混合模式调试

使用集成调试器,程序员可以调试在同一解决方案中以不同语言编写的项目。

例如,您可以调试这样一个解决方案,它包含一个由VisualBasic或VisualC#用户界面应用程序和VisualC++服务器应用程序组成的项目,您也可以在这些项目之间来回执行单步调试,

12杨教授工作室,版权所有,XX,12/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

例如从C++的托管扩展到VisualBasic,然后又回到C++托管扩展。

2、连接到运行的程序

程序员可以将调试器连接到已经运行的程序并对该程序进行调试。

无论程序是在主机上运行还是在远程计算机上运行,连接到运行程序后的效果都相同。

程序无须在VisualStudio.NET集成开发环境(IDE)中启动。

3、远程调试

程序员可以从正在运行VisualStudio的计算机连接到在另一台计算机上运行的进程,并对其进行调试。

例如,如果您正在调试Windows窗体客户端应用程序及其使用的XMLWebservices,则可以在客户端运行VisualStudio,然后连接到提供XMLWebservices的服务器。

您通常会为Web窗体项目或ASP.NETWeb服务项目执行这种调试。

4、调试多线程应用程序

为VisualBasic用户提供的一项新增功能是编写和调试多线程应用程序。

“线程”窗

口可用于查看正在运行的线程和切换上下文。

5、调试多个程序

通过连接到运行的程序或从VisualStudioIDE中启动多个程序,可以对多个程序进行调试。

6、调试ASP.NETWeb应用程序

ASP.NETWeb应用程序的调试配置已经得到大大的改进。

大多数情况下,只需从“调试”菜单中选择“启动”,调试器就将自动连接到ASP.NET辅助进程对Web窗体进行调试(即使ASP.NET辅助进程在不同的服务器上运行)。

由于新增了调试器用户组,安全性配置已变得更为容易。

有关详细信息,请参阅调试脚本和Web应用程序。

7、.NET框架的调试类和代码跟踪类

程序员可以在Microsoft.NET应用程序中包括检测代码。

有几个.NET框架类可用于对代码进行调试和检测。

1.1.4调试多个程序

利用VisualStudio调试器,可以调试运行在多个进程中的程序。

可以将一个进程看成是运行在自身内存空间中并具有自身目标代码、数据和资源的程序实例。

比如:

当通过启

13杨教授工作室,版权所有,XX,13/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

动.EXE文件启动一个程序时,系统调度器就为该程序创建一个新的进程。

如果启动多个程序实例,就会创建多个进程。

操作系统出于自身目的,自动创建其他的进程。

1、脚本应用程序

某些程序,如脚本应用程序,没有自己的进程。

这些程序驻留在其他应用程序(如InternetExplorer或InternetInformationServices)之中,并在宿主进程中运行。

要调试此类程序,必须调试宿主进程。

通常先要附加到宿主进程。

2、调试多个进程的技巧

在VisualStudio.NET中,可以在一个VisualStudio解决方案中调试多个进程。

这时,每一个进程都是由解决方案中的一个独立项目创建的,因此可以看作是调试多个项目。

可以设置多个启动项目来调试多个进程,或者可以先开始调试一个项目,再从“解决方案资源管理器”启动其他项目。

VisualStudio.NET也能调试在VisualStudio之外启动的进程。

为此,必须启动VisualStudio并附加到正在运行的进程上。

可以同时调试在VisualStudio之内和之外启动的进程。

只需在VisualStudio中通过运行一个项目启动一个进程,再附加到一个外部进程。

甚至可以调试这样的多个进程:

进程正在运行以不同语言编写的代码。

例如:

可以同时调试一个包含C++代码的进程和另一个包含VisualBasic代码的进程或者一个既有VisualBasic代码又有C++代码的进程,或是VisualBasic和C#混合代码的进程。

只要VisualStudio调试器支持该语言,混合语言的调试通常是透明的。

3、启动其他的项目

当一个项目正在运行时启动另一个,要求这两个项目必须是在同一个解决方案中。

可以利用“解决方案资源管理器”启动一个或多个其他的项目:

(1)在“解决方案资源管理器”中启动项目

在“解决方案资源管理器”中,选择要开始调试的项目;右击项目名称或图标;在快捷

菜单中选择“调试”并单击“启动新实例”。

14杨教授工作室,版权所有,XX,14/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

当在一个解决方案中调试两个以上项目时,可以以下面两种方式之一在其间切换:

(2)调试过程中在项目之间切换

在“调试位置”工具栏上,从“程序”列表框中选择要切换到的程序;切换到一个项目将使其成为用于调试目的的当前进程。

从“调试”菜单选择的任何命令(如:

“中断”或“继续”),既影响当前进程也会影响其他正在调试器控制之下运行的进程。

15杨教授工作室,版权所有,XX,15/16页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料(3)仅停止当前进程

从“工具”菜单中选择“选项”;在“选项”对话框中,打开“调试”文件夹,然后选择“常规”类别;选择“在中断模式下,只停止执行当前的进程”。

16杨教授工作室,版权所有,XX,16/16页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1