没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|其它|编辑:郝浩|2005-03-23 14:01:00.000|阅读 1243 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
摘要:本文通过创建一个宿主应用程序来介绍调试用户控件的基本内容,并讨论代码的逐语句执行和断点的设置。
目录
简介
Visual Studio® .NET 集成开发环境 (IDE)
提供了许多工具,可用于监视程序的执行过程,以及查找用户控件和自定义控件中的错误。您可以使用调试工具逐行执行代码、在代码中添加断点以及使用各种调试窗口在运行时监视执行情况。由于控件不是独立的项目,因此在调试时必须为控件提供一个宿主。在本文中,我们将创建一个简单的用户控件,然后尝试使用各种调试技术。本文中使用的是用户控件,但这些技术也适用于自定义控件和继承的控件。
前提
要充分理解本文的内容,您应当了解如何创建简单的用户控件。
创建用户控件
创建用户控件
' Visual Basic Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Button1.Click Dim myInteger as Integer myInteger = 42 ' 在运行时引发异常。 Throw New ApplicationException("出现未指定的错误") MessageBox.Show(myInteger.ToString) End Sub // C# private void button1_Click(object sender, System.EventArgs e) { int myInteger; myInteger = 42; // 在运行时引发异常。 throw new ApplicationException("出现未指定的错误"); MessageBox.Show(myInteger.ToString()); } |
创建测试项目
需要调试的控件必须在运行时驻留于宿主项目中。在本节中,我们将在项目中添加一个窗体,并在此窗体上创建用户控件的实例。
创建测试窗体
调试项目
现在我们已经创建了一个用户控件。这个非常简单的示例并不需要进行大量调试,但复杂的用户控件可能封装有数千行代码。因此,确保控件中没有逻辑错误是非常重要的。
现在,我们使用测试控件作为向导,来了解 Visual Studio 调试器的某些功能。
出错时中断
如果在调试控件时出现错误,代码的执行将在出错行中断。中断将出现在调用堆栈中的最深点,也就是说,如果错误出现在从宿主应用程序调用的控件方法中,则执行过程将在此控件方法中的出错行中断。
所创建的用户控件中包含以下代码行:
' Visual Basic Throw New ApplicationException("出现未指定的错误") // C# throw new ApplicationException("出现未指定的错误"); |
此行在执行过程中引发异常。在调试模式下运行时,如果出现异常,程序的执行过程将在引发异常的代码行中断。
查找引发异常的代码行
逐语句执行代码
有时可能需要逐行检查应用程序的执行过程。Visual Studio .NET
允许通过以下方法来监视程序的执行过程:逐语句执行代码行、选择要中断的代码行或者在代码中设置断点。这些方法在到达特定行时都会暂停执行过程。
如果怀疑某一代码块导致了错误,但并不确定是哪一行存在问题,则可以设置断点。可以设置一个断点,使程序在进入代码块前暂停执行,然后逐语句执行每行代码,同时检查应用程序的变量。此外,如果怀疑多个代码块出错,可以设置多个断点,并按顺序检查这些断点。
在本节中,您将了解如何在代码中设置断点并逐语句执行后续的行。
设置断点并逐语句执行代码
' Visual Basic myInteger = 42 // C# myInteger = 42; |
' Visual Basic ' Throw New ApplicationException("出现未指定的错误") // C# // throw new ApplicationException("出现未指定的错误"); |
逐行执行
按 F11 键可以从应用程序的开始处逐语句执行每行代码。每个执行的代码行将按顺序显示,但用
System.Diagnostics.DebuggerStepThrough 属性标记的方法除外,这些方法在执行时将被跳过。
逐过程执行代码
此外,可以使用 F10 键逐过程执行代码。按 F10
键时,将跳过在当前方法之外执行的所有代码行。例如,如果方法调用了冗长或递归的方法,而又不需要监视其执行情况,则此功能非常有用。
总结
本文介绍了如何使用 Visual Studio .NET
调试工具来调试用户控件。在生成控件并将其置于宿主应用程序中后,就可以象调试应用程序的任何其他部分一样调试控件。这些技术同样适用于自定义控件、继承的控件和一般组件。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号