C#.Net组件开发 - 使用Attach to Process实时调试设计器代码
2012-02-26 16:32
232 查看
本文转载于:CS框架网http://www.csframework.com/archive/2/arc-2-20110829-1811.htm
C#.Net组件开发 - 使用Attach to Process实时调试设计器代码
组件设计的调试对象为两个:一是我们关注的组件本身(Component/Control),二是组件的设计器(Component Designer/Control Designer)。调试组件本身只要设断点运行程序即可调试,因组件设计器在设计时工作而不是运行时,所以设断点是不能调试的。
大多数情况下开发人员用MessgeBox来弹出信息进行调试,这是一种简单可靠的方式,但是无法进入到代码内部实时调试,所以阻碍了开发进度,有种最佳解决方案,是通过Debug菜单的Attach to Process 方式支持运行时实时调试。
Attach to Process启动方式:
![](http://www.csframework.com/upload/image/attach_to_processes_01.PNG)
组件和控件的区别请参考
控件与组件的区别(Control&Component的区别)
http://www.csframework.com/archive/2/arc-2-20110630-1675.htm
组件编程模型图:
![](http://www.csframework.com/upload/image/attach_to_processes_02.PNG)
Attach to Process功能介绍:
VS IDE的 Debug菜单下面Attach to Process附加进程是用来把一个进程中的应用附加到VS调试环境中,对该应用进行调试,使用此技术的意义就是应用的运行和VS调试环境可以分开,一般 的应用调试就是跟着调试环境一起启动和结束,每次调试都需要重新从头启动应用。 那如果你只想调试调试应用的某一场景,那么你不得不浪费时间去推进到那个场景才能进行调试。 如果我们在VS IDE之外来启动应用,通过Attach的方式就会把该应用添加到VS IDE里面来,你多次的启动IDE都不会打断应用的运行。
Attach to Process 实时调试操作步骤:
一. 运行两个VS开发环境,打开同一个解决方案,如下图:
![](http://www.csframework.com/upload/image/attach_to_processes_03.PNG)
二. 在第二个解决方案(B)中设置调试断点,如下图:
![](http://www.csframework.com/upload/image/attach_to_processes_04.PNG)
三. 在第二个解决方案(B)中打开Debug\Attach to Process菜单,如下图:
![](http://www.csframework.com/upload/image/attach_to_processes_05.PNG)
四. Attach to Process窗体,在Available Processes列表中选择devenv.exe进程。
注:我们刚才打开两个VS解决方案理论上有两个devenv.exe才对,为什么只有一个?原因是当前解决方案的devenu进程是不支持调试的,不能附加到自己的进程进行调试.
选择devenv.exe ,点Attach按钮,如下图:
![](http://www.csframework.com/upload/image/attach_to_processes_06.PNG)
五. Attach to Process之后自动进入运行(调试)状态:
![](http://www.csframework.com/upload/image/attach_to_processes_07.PNG)
六. 切换到第一个解决方案(A)进行设计组件操作,如“生成MyNodeComponent的设计时代码”。
![](http://www.csframework.com/upload/image/attach_to_processes_08.PNG)
七. 当运行到设断点的代码处时,自动激活第二个解决方案(B),这时可看到进入实时调试状态,我们可以查看到组件或对象的实时内容。
![](http://www.csframework.com/upload/image/attach_to_processes_09.PNG)
八. 不过,调试状态下不支持修改代码的,否则会弹出Edit and Continue对话框。
![](http://www.csframework.com/upload/image/attach_to_processes_10.PNG)
版权:C/S框架网,作者:孙中吕,如转载请注明出处。
C#.Net组件开发 - 使用Attach to Process实时调试设计器代码
组件设计的调试对象为两个:一是我们关注的组件本身(Component/Control),二是组件的设计器(Component Designer/Control Designer)。调试组件本身只要设断点运行程序即可调试,因组件设计器在设计时工作而不是运行时,所以设断点是不能调试的。
大多数情况下开发人员用MessgeBox来弹出信息进行调试,这是一种简单可靠的方式,但是无法进入到代码内部实时调试,所以阻碍了开发进度,有种最佳解决方案,是通过Debug菜单的Attach to Process 方式支持运行时实时调试。
Attach to Process启动方式:
组件和控件的区别请参考
控件与组件的区别(Control&Component的区别)
http://www.csframework.com/archive/2/arc-2-20110630-1675.htm
组件编程模型图:
Attach to Process功能介绍:
VS IDE的 Debug菜单下面Attach to Process附加进程是用来把一个进程中的应用附加到VS调试环境中,对该应用进行调试,使用此技术的意义就是应用的运行和VS调试环境可以分开,一般 的应用调试就是跟着调试环境一起启动和结束,每次调试都需要重新从头启动应用。 那如果你只想调试调试应用的某一场景,那么你不得不浪费时间去推进到那个场景才能进行调试。 如果我们在VS IDE之外来启动应用,通过Attach的方式就会把该应用添加到VS IDE里面来,你多次的启动IDE都不会打断应用的运行。
Attach to Process 实时调试操作步骤:
一. 运行两个VS开发环境,打开同一个解决方案,如下图:
二. 在第二个解决方案(B)中设置调试断点,如下图:
三. 在第二个解决方案(B)中打开Debug\Attach to Process菜单,如下图:
四. Attach to Process窗体,在Available Processes列表中选择devenv.exe进程。
注:我们刚才打开两个VS解决方案理论上有两个devenv.exe才对,为什么只有一个?原因是当前解决方案的devenu进程是不支持调试的,不能附加到自己的进程进行调试.
选择devenv.exe ,点Attach按钮,如下图:
五. Attach to Process之后自动进入运行(调试)状态:
六. 切换到第一个解决方案(A)进行设计组件操作,如“生成MyNodeComponent的设计时代码”。
七. 当运行到设断点的代码处时,自动激活第二个解决方案(B),这时可看到进入实时调试状态,我们可以查看到组件或对象的实时内容。
八. 不过,调试状态下不支持修改代码的,否则会弹出Edit and Continue对话框。
版权:C/S框架网,作者:孙中吕,如转载请注明出处。
相关文章推荐
- asp.net(c#)开发中的文件上传组件uploadify的使用方法(带进度条)
- ASP.NET,C#.NET 通用权限系统组件源码使用说明,程序开发的尚方宝剑,程序架构标准参考,程序开发必备知识
- ASP.NET,C#.NET 通用权限系统组件源码使用说明,程序开发的尚方宝剑,程序架构标准参考,程序开发必备知识
- C#.Net组件开发 - 使用Attach to Process实时调试设计器代码(转)
- asp.net(c#)开发中的文件上传组件uploadify的使用方法(带进度条)
- asp.net(c#)开发中的文件上传组件uploadify的使用方法(带进度条)
- ACCP学习旅程之-----使用C#开发数据库应用程序(第七章 用ADO.NET查询和操作数据库)
- 使用C#开发COM+组件
- 圣殿祭司:ASP.NET 2.0 开发详解——使用C#——全国购书地址一览表
- C# ASP.NET 走火入魔通用权限管理系统组件V3.2试用版下载地址【含数据库设计文档、使用手册】
- 使用C# .net开发微信公众号之获取AccessToken
- C#.NET开发Winform使用MySQL数据库 无法将“System.Byte[]”的对象强制转换为类型“System.IConvertible”
- 70-316 使用Microsoft Visual C# .NET and Microsoft Visual Studio .NET 开发及实现基于Windows的应用程序 考点整理
- Winform(C#.NET)自动更新组件的使用及部分功能实现(一点改进功能)
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-在UI中应用DataUIMapper组件
- 使用C#开发COM+组件
- 开发人员在使用Aspose.Pdf for .NET时如何用C#和VB两种代码添加附件到PDF文档?
- VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——BarcodeView控件的使用方式,.Net移动开发
- 圣殿祭司:ASP.NET 2.0 开发详解——使用C#——全国购书地址一览表
- 使用 SQL Server 2005 Compact Edition 和 Visual C#.NET 快速开发应用程序