C#.Net组件开发 - 使用Attach to Process实时调试设计器代码(转)

本文转载于: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启动方式:

组件和控件的区别请参考

控件与组件的区别(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框架网,作者:孙中吕,如转载请注明出处。

时间: 2024-07-31 15:25:55

C#.Net组件开发 - 使用Attach to Process实时调试设计器代码(转)的相关文章

开发基于Web的CSS设计器.代码参考

css|web|参考|设计 这里对前面文章讲的CSS设计器系统关键代码作一些小结,如果没有看过前面文章的请先参看"开发基于Web的CSS设计器" 解析CSS样式文件 这段代码主要作用是把CSS文件分解为多个样式类,并按名称/文本属性生成ClassItem对象,并保存在一个ArrayList(cssList)中(C#代码) //读取文件FileInfo theSource= new FileInfo (@m_filePath);StreamReader reader = theSourc

面向设计的半封装web组件开发(概要版)

一.传统web组件的妄想 目前很多Team和团队都有自己的一套web组件体系,模块化开发,封装良好,上手简单.然后希望该web组件可以应用到接手的各个项目中,节约日后的开发成本.甚至考虑开源. 这其实是很棒的,但是呢,希望一套web组件各个项目通用?在我看来,除非对项目没有追求,否则不太现实. 但是呢,希望一套web组件各个项目通用?在我看来,除非对项目没有追求,否则就是妄想. 为什么说传统web组件想一统天下不现实呢?因为就像秦始皇一统天下一样,要牺牲很多很多东西. 牺牲代码量 web组件要想

基于YUI的组件开发(1)【珍珠奶茶帮】

分享人:拔赤 导语:如今的前端开发越来越OO,也越来越注重重用,娴熟的用js写出OO的前端代码已然是一个前端工程师的基本素质之一.与此同时,网站的开发过程也越来越类似于堆积木.模块思想也逐渐深入的应用在大型网站的开发之中,指导网站的设计和架构,在今天[珍珠奶茶帮]的分享中,我们来对基于YUI的组件开发做深入探讨. 模块化的前端开发 在web技术迅猛发展的今天,大型网站的前端开发越来越依赖复杂的团队配合,而模块化思想则能有效的指导团队开发的效率提升和成本压缩.它使得我们在项目中将注意力放在颗粒化组

J2EE平台WEB组件开发中如何使用定制标签

j2ee|web|组件开发 摘要: J2EE PLATFORM WEB组件开发涉及SERVLET 和JSP技术,SERVLET和JSP各有其优缺点.JVAVABEAN和定制标签对JSP的表示能力提供了很好的扩展,大大提高了JSP的表示能力,同时它们的引入使WEB开发可以很好的进行分工,提高开发效率,降低开发成本,同时提高了JSP页面的可读性.重用性.可维护性.本文将介绍J2EE平台WEB组件开发中如何使用定制标签,主要介绍开发定制标签的意义,原理.步骤.在TOMCAT上的发布并给出一个典型的标签

Flash CS3 组件开发教程

教程|组件开发 [教程说明]:应云开等朋友的要求,我今天把组件开发过程整理一下,写成这篇教程.通过此篇教程你可以大致了解Flash 组件开发整个过程,希望对那些想自己开发Flash 组件的朋友有所帮助.我这次主要开发Flash 代码组件,甚至其他Flash 组件,你可以自行研究或和我一起讨论. [前提条件]:1.安装了Flash CS3软件:2.安装了Adobe Extension Manager 1.8 扩展管理器,如果没有请先到这里下载: [开发教程]:1.首先准备一个18x18的png 图

flash组件开发要点

组件开发 开发组件的目的就是为了封装可以重复使用的应用程序块,减少毫无意义的重复编码工作,提高开发效率. 最近在研究flash8的v2组件整理了一些制作组件的基础知识 1.必须清楚的一些类 Object类是基类,所以其他的类都派生于他.这个类我们需要重点了解reisterClass的用法,这个方法可以将类和元件关联起来,通俗的讲就是将类的一些方法和属性赋给元件对象,这个方法和在库中设置类绑定的作用是一样的. 侦听广播机制和委托机制必须熟悉,这套机制是flash开发大型项目的杀手锏. 2.flas

在ASP中利用COM组件开发Web应用程序

web|程序|组件开发 如果你是一名Active Server Page (ASP) 开发者,相信你可能经常使用COM对象来创建ASP页面.甚至在你使用中都忽略了他就是COM对象.比如:ADO.只个调用率最高的组件已让你的页面扩展了无限的功能.然而ASP本身是解释型脚本,在功能上不足COM强大.作为拥有快速开发,易用性强,支持COM的VB自然的作为了ASP中开发COM的首要工具.下面的示范和描述中,通过Visual Basic 语言在告诉大家如何写COM及COM对象模型的使用,相信会让你有所收获

C#组件开发 Zt

组件开发 简介 微软即将发布的 Visual Studio .NET 将使程序开发人员获得一个集 成开发环境,它不但为开发传统的 C/C++ 应用程序,而且也为令人振奋 的 Microsoft .NET 组件提供了丰富的工具.这些以管理代码编写.在通 用语言运行时构建的组件向开发人员提供了一个全新的混合开发环境,即 象 Microsoft Visual Basic 一样容易,而同时又提供了强大的低级编程 能力,与 ATL 或 MFC 更加相关.随着以生产效率为中心的管理环境的到 来,它可与传统

VB.NET中的组件开发

组件开发 先看段组件的代码:(临时写的,写得比较乱) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '' 登录验证组件 '' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Imports System.Security.CryptographyImports System.TextImports System.DataImpo