VS2010+ AutoCAD 2012开发调试过程中,发现普通的Class里面的断点是可以跟踪到的,可能是创建自定义的Form做界面是,Form1.cs中的代码断点却不管用。原因在于AutoCAD的纤程(Fiber)。是的,是纤程(Fiber)而不是线程(Thread)。VS2010的调试器和AutoCAD的纤程一起工作时会有问题。解决的办法就是关闭AutoCAD纤程。通过系统环境变量FIBERWORLD来查看当前纤程是否打开,如果是1,则可以通过把系统环境变量NEXTFIBERWORLD设为0。
Autodesk.AutoCAD.ApplicationServices.Application.SetSystemVariable("NEXTFIBERWORLD", 0);
如果你是在使用VS2010 基于AutoCAD 2011 及其垂直产品,可以参考http://www.cnblogs.com/junqilian/archive/2010/04/29/1724403.html
注意,当修改NEXTFIBERWORLD为0后如果出现CAD软件里所有的工具点击失效而只能输入命令行使用时再将NEXTFIBERWORLD改为1即可解决该问题,即NEXTFIBERWORLD只在开发调试过程中作更改,开发完后再将其原值改回。