zoukankan      html  css  js  c++  java
  • 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
    转载请保留此信息。
  • 相关阅读:
    为什么解析 array_column不可用,
    Android经常使用的布局类整理(一)
    C++ Coding Standard
    Kd-Tree算法原理和开源实现代码
    2013年10月5日国庆上班前一天
    2013年10月5日
    2013年10月3日合肥归来
    国庆第二天参加室友婚礼
    国庆随笔
    2013第40周日国庆放假前一天晚上
  • 原文地址:https://www.cnblogs.com/junqilian/p/1988327.html
Copyright © 2011-2022 走看看