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框架网,作者:孙中吕,如转载请注明出处。

C#.Net组件开发(高级篇) - 使用自定义TypeConverter生成设计时代码
C#.Net组件开发 - 设计时使用自定义属性编辑器持久化对象
.NET Reactor(.NET混淆器)加壳软件使用|C/S开发框架
CSFramework开发框架使用.NET Reactor加壳软件导致多语言失效|C/S开发框架
开发框架使用.NET Reactor(加壳+代码混淆)与加密狗加密有什么区别
使用Eziriz .NET Reactor 5.0 代码混淆加壳单个且独立的DLL文件
使用Eziriz .NET Reactor 5.0 代码混淆加壳
使用.NET Reactor 5.0代码混淆加壳整个程序文件
建议使用.NET Reactor进行DLL,EXE加密后再发布给用户使用
C#.Net组件开发(高级篇) - 自定义CollectionEditor编辑器
C# ASP.NET使用ashx一般处理程序实现上传文件功能-C/S开发框架
Web端使用VUE调用WebApi接口实现用户登录及采用Token方式数据交互
.NET RichTextBox控件使用详解
C#.Net组件开发(高级篇) - 设计时在窗体设计器文件内生成组件的代码
标签:C#.Net组件开发 - 自定义属性编辑器持久化对象的属性
标签:C#.Net组件开发 - 自定义设计器持久化对象的属性
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
