• 解决AutoCAD2010在VS2010上无法命中断点


    AutoCAD 2010的二次开发告一段落,现在整理一些开发中遇到的问题。

    最早遇到的问题是关于AutoCAD 2010在VS 2010上无法调试。奇怪的是这问题只出现在我同事电脑上,我的电脑一切OK,我暗喜^_^,莫非是人品问题。

       

    开发环境:Windows XP SP3+VS2010+AutoCAD2010

    这里主要讨论以下几个问题:

    1、AutoCAD 2010在VS 2010上无法命中断点问题;

    2、调试AutoCAD 2010在VS 2010 中的实现自定义添加;

    3、设置断点,它显示一个空的圆圈,当前不会命中断点,还没有为该文档加载任何符号。

       

    关于问题1,断点不起作用的原因归结为Visual Studio 2010不会选择正确的版本的调试器,在调试时启动了默认的debugger(v4.0),此调试器不会看到针对旧版本的.NET 项目中的断点,但是为了让我们的.NET应用程序能在AutoCAD 2010等上运行,我们需要.NET Framework 2.0( 3.5也是运行在CLR 2.0之上的)。

    下面提供三种方法使VS 2010 在这些项目上使用正确的调试器 。哪种解决方案最适合您将取决于您具体的方案(我会倾向于解决方案2,够简单)。

       

    解决方案1

    启动AutoCAD2010程序,加载您开发的组件(可以通过写入注册表的方式实现自动加载),然后将它(acad.exe)附加到VS2010中(调试->附加到进程)。需要注意的是选择代码类型默认是自动确定类型的,少数情况自动确定的类型并不一定正确,这时候会出现无法加载符号的情况,即问题3所描述,所以需要我们手动勾选代码类型。

       

    解决方案2

    修改AutoCAD的配置文件,这个文件在AutoCAD的安装目录下。打开配置文件(acad.exe.config)如下:

       

    修改配置文件,以便它包含 <supportedRuntime 版本="v2.0.50727" />节点,如下:

       

    解决方案3

    把宿主acad.exe文件作为一个已有的项目添加到您的解决方案中,并把debugger设置为v2.0。

    • 右键单击Solution Explorer,选择添加->现有项目,浏览到AutoCAD的启动文件Acad.exe

     

    • 右键单击该项目,把它设置为启动项目 设为启动项目

     

    • 打开项目属性对话框

     

    • 设置 调试器类型 为 托管(3.5、3.0、2.0版)

       

    至此,可以正常调试了。

    PS:文章截图为VS2012

    参考文章:

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

    Hitting breakpoints in .NET Class Libraries while debugging with Visual Studio 2010

    Debugging with Visual Studio 2010 and RvtSamples

  • 相关阅读:
    常见的代码报错信息总结(持续更新ing)
    ASCII码对照表
    python ord()与chr()用法以及区别
    Python random模块sample、randint、shuffle、choice随机函数
    日志相关
    tensorflow学习笔记
    tar 解压缩命令详解
    pandas使用
    相似度与距离计算python代码实现
    逻辑回归原理(python代码实现)
  • 原文地址:https://www.cnblogs.com/leolion/p/3793803.html
Copyright © 2020-2023  润新知