Visual Studio 2010开发AutoCAD 2012 .net 应用程序调试时断点不起作用-阿里云开发者社区

开发者社区> 史迪奇2号> 正文

Visual Studio 2010开发AutoCAD 2012 .net 应用程序调试时断点不起作用

简介:
+关注继续查看


AutoCAD 2012系列产品很快就要正式发布了,对于.net 开发者来说,VS2010无疑是最好用的工具,所以也有好多人在VS2010和AutoCAD 2012 beta版上做开发测试。你在开发时可能会遇到调试断点不起作用的问题。

 

如果你是在使用VS2010 基于AutoCAD 2011 及其垂直产品(Map 3D / Civil 3D/ AutoCAD Mechanical / AutoCAD MEP 2011 等等)上做开发,断点调试的问题请参考峻祁连以前的文章:

使用Visual Studio 2010调试断点不起作用的问题解决办法

 

如果你是用的AutoCAD 2012系列产品,在按照上面的方法来更改acad.exe.config 就有问题了,可能会引起AutoCAD崩溃。实际在VS2010+ AutoCAD 2012开发调试过程中,发现普通的Class里面的断点是可以跟踪到的,可能是创建自定义的Form做界面是,Form1.cs中的代码断点却不管用。这怎么办呢?

 

经过研究,原来是AutoCAD的纤程(Fiber)捣的鬼。我没写错字,是纤程(Fiber)而不是线程(Thread)。VS2010的调试器和AutoCAD的纤程一起工作时会有问题。解决的办法就是关闭AutoCAD纤程。

 

在AutoCAD中你通过系统环境变量FIBERWORLD来查看当前纤程是否打开,如果是1,则你可以通过把系统环境变量NEXTFIBERWORD设为0,并且关闭所有文档。这时新建文档时就是纤程关闭状态了,你还可以通过FIBERWORLD变量来查看确认。

 

关闭Fiber后,在Form中的断点应该就工作正常了。

image

 

另外在AutoCAD .NET应用程序中打开新创建推荐使用

Autodesk.Autodesk.ApplicationServices.Application.ShowModalDialog 和Autodesk.Autodesk.ApplicationServices.Application.ShowModelessDialog 方法,否则可能会有些不可预期的问题。

 

如果你想重新开启纤程(Fiber),你需要把NEXTFIBERWORD设为1,然后重新启动AutoCAD才能生效。

 

 

Cheers,

峻祁连

作者:峻祁连
邮箱:junqilian@163.com 
出处:http://junqilian.cnblogs.com 
转载请保留此信息。


本文转自峻祁连. Moving to Cloud/Mobile博客园博客,原文链接:http://www.cnblogs.com/junqilian/archive/2011/03/18/1988327.html,如需转载请自行联系原作者

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

相关文章
C#.NET使用Task,await,async,异步执行控件耗时事件(event),不阻塞UI线程和不跨线程执行UI更新,以及其他方式比较
原文:C#.NET使用Task,await,async,异步执行控件耗时事件(event),不阻塞UI线程和不跨线程执行UI更新,以及其他方式比较 使用Task,await,async,异步执行事件(event),不阻塞UI线程和不跨线程执行UI更新   使用Task,await,async 的异步模式 去执行事件(event) 解决不阻塞UI线程和不夸跨线程执行UI更新报错的最佳实践,附加几种其他方式比较 由于是Winform代码和其他原因,本文章只做代码截图演示,不做界面UI展示,当然所有代码都会在截图展示。
3316 0
IOT Studio Web可视化开发与调用业务逻辑API测试
测试iot studio的web可视化开发和业务逻辑功能
792 0
如何使用Visual Studio Code调试PHP CLI应用和Web应用
在按照Jerry的公众号文章 什么?在SAP中国研究院里还需要会PHP开发? 进行XDebug在本地的配置之后,如果想使用Visual Studio Code而不是Eclipse来调试PHP应用,步骤也比较简单。
1078 0
Android* 操作系统上的应用程序远程调试
Android* 操作系统上的应用程序远程调试 robert-mueller-... 于 星期日, 16/02/2014 - 20:00 提交 Android* 操作系统应用程序远程调试 Android* Debug Bridge Android Debug Bridge (ADB) 是一种命令行工具,可处理主机上的调试程序(通常为 GDB* 或 DDMS*(Dalvik* 调试监测程序服务器)以及 ADT)和目标上运行的 Android* 映像之间的调试通信。
1123 0
Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer
原文:Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer Advanced Installer :Free for 30 days.
1540 0
xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter
知道怎么查看后,先看看有什么实际应用,拿NSNotificationCenter来做实践吧。 首先在某个容易进入的地方加断点,并停在那,例如main函数。
910 0
借助阿里云ECS实现传统.NET应用容器化(上)
我们都知道.NET Core应用可以跑在Docker上,那.NET Framework 4.x应用呢?借助阿里云ECS主机(Windows Server 2019 with Container版本),一切变得So Easy!
303 0
862
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载