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

开发者社区> 阿笨net> 正文

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)。
+关注继续查看

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
额!Java中用户线程和守护线程区别这么大?(3)
额!Java中用户线程和守护线程区别这么大?(3)
9 0
更快的Maven来了,我的天,速度提升了8倍!(3)
更快的Maven来了,我的天,速度提升了8倍!(3)
33 0
C 语言项目_项目流程|学习笔记
快速学习 C 语言项目_项目流程
6 0
更快的Maven构建工具mvnd和Gradle哪个性能更好?(3)
更快的Maven构建工具mvnd和Gradle哪个性能更好?(3)
29 0
解决 error: failed to push some refs to *.git
今天创建了一个新的 git 仓库,想把本地的工程目录传上去,把本地仓库目录和远端仓库地址关联后,使用 git push 命令推本地文件到仓库时,发生了如下报错:
6 0
解决:The requested URL returned error: 403
今天在 arm 架构的服务器上创建工程时,遇到了一个报错,执行的命令如下: git clone git.liuzhen007.com/boffmpeg.gi… 报错信息如下: fatal: unable to access 'git.liuzhen007.com/boffmpeg.gi…': The requested URL returned error: 403
4 0
用谷歌云自建微软GitHub codespaces和VScode.dev云编译Cloud IDE是怎样一种体验?
你将拥有比微软官方vscode.dev 更强大的vscode谷歌云IDE,你可以随时随地坐在马桶上用599块钱的小米手机登陆网页版vscode开发一款APP,比如:Tiktok;这个网页版vscode比微软GitHub codespaces和VScode.dev官方更强大,它同样拥有terminal,重点是它编译不受本地网络的限制可以远程云编译,高速高效随时随地,而且是使用强大谷歌云服务器进行编译,爽哼! 下一步咱们搞个Android studio网页版云编译平台,好不好,宝? 下下一步咱们使用599块钱的小米手机远程连接网页版vscode和网页版Android studio开发一款安卓ap
8 0
从托管到原生,MPP架构数据仓库的云原生实践
本文介绍了云原生数据仓库产品AnalyticDB PostgreSQL从Cloud-Hosted到Cloud-Native的演进探索,探讨为了实现真正的资源池化和灵活售卖的底层设计和思考,涵盖内容包括产品的架构设计,关键技术,性能结果,效果实现和后续计划几方面。
11 0
常量和变量_C语言简介|学习笔记
快速学习常量和变量_C语言简介
4 0
阿里云内容安全java SDK实现本土图片审核
内容安全是一款多媒体内容智能识别服务,支持对图片、视频、文本、语音等对象进行多样化场景检测,帮助您有效降低内容违规风险。 此篇文章将简单介绍通过javasdk实现本地图片的安全检测
5 0
+关注
842
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载