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

解决AutoCAD2010在VS2010上无法命中断点的更多相关文章

  1. vs2008 调试时不会命中断点,源代码与原始版本不同,解决办法

    当前不会命中断点,源代码与原始版本不同,解决办法 1.应该是自己一行里写的代码太长了 格式化一下 或者 换下行 2. VC直接把整个文件格式化了一次,断点就可以用了 菜单:编辑-〉高级-〉设置选定内容 ...

  2. 当前不会命中断点。源代码与原始版本不同 (VS2012)

    遇到“当前不会命中断点.源代码与原始版本不同”的问题. 在网上查的类似: 一般studio会提示将“工具”,“选项”,“调试”,“要求源文件与原始版本完成匹配”去掉勾.但是这个配置去掉治标不治本,错误 ...

  3. Visual Studio 当前不会命中断点的问题

    这个问题一般有两个版本 1.当前不会命中断点,还没有为该文档加载任何符号. 2.当前不会命中断点,源代码与原始版本不同. 要解决第一个问题,就要了解一种文件格式“PDB(Program DataBas ...

  4. release环境下,当前不会命中断点,还没有为该文档加载任何符号

    今天在release编译环境下出现了如标题所说的问题“ 当前不会命中断点,还没有为该文档加载任何符号”,在网上找了几个方法都没有解决我的问题,咨询了一下师傅,解决了,很简单,方法如下:右键--属性-- ...

  5. Visual Studio2012调试时无法命中断点

    今天在调试代码的时候发现在Debug模式下无法命中断点,然后一步步去检查原因,最后发现是在项目-->属性-->生成-->高级-->调试信息被设置为None,然后在选项中将其选择 ...

  6. 遇到Visual Studio "当前不会命中断点.还没有为该文档加载任何符号"的情况

    一.问题及原因 有这样一种调用逻辑:A.exe调用B.dll.现在想要在B的源代码中打断点,从A发起进行调试,却给出了"当前不会命中断点.还没有为该文档加载任何符号"的提示.感觉十 ...

  7. "当前不会命中断点,没有与此行关联的可执行代码"可能和"断点位置不准确"有关

    今天用VS调试代码遇到一件怪事,在函数结束前的return那一行打了断点,却报"当前不会命中断点,没有与此行关联的可执行代码".看了自己是debug模式,而且没有开启优化,不应该出 ...

  8. VS :不会命中断点 代码版本与原始版本不同

    设置了断点,但是无法中断,提示"不会命中断点 代码版本与原始版本不同".这种情况下一般是生成的bin\debug下面的文件与实际代码不符. 但是这次确实没有问题,重新更新程序,清理 ...

  9. VC:当前不会命中断点,还没有为该文档载入不论什么符号

    VS2013中设置的断点无效:"当前不会命中断点,还没有为该文档载入不论什么符号".问题主要出在没有生成调试信息.解决方法例如以下: (1)项目-〉属性-〉配置属性-〉C/C++- ...

随机推荐

  1. jScrollPane 美化滚动条

    在线实例 滚动条可见 滚动条隐藏 使用方法 <div class="container"> <h1>滚动条可见</h1> <div cla ...

  2. 简洁的jQuery cxMenu 手风琴导航

    版本: jQuery v1.7+ jQuery cxMenu v1.2 注意事项: 自动判断是否有子导航,有则显示并不触发链接,无则触发链接. 实例预览 使用方法 载入 JavaScript 文件 & ...

  3. Debug - 支持浏览器和 Node 平台的全端调试工具

    Debug 是一个跟踪调试消息的 JavaScript 库.因为它只是对 console.log 的包装,所以支持 Node 和浏览器.它允许你过滤日志输出而不需要改变你的源代码,也输出时间差异,可以 ...

  4. 20款时尚的 WordPress 简洁主题【免费下载】

    在这篇文章中,我们收集了20款时尚的 WordPress 简洁模板.WordPress 是最流行的博客系统,插件众多,易于扩充功能.安装和使用都非常方便,而且有许多第三方开发的免费模板,安装方式简单易 ...

  5. Java2_java入门时的一些基本概念的理解(j2ee,j2se,j2me,jdk,sdk,jre,jvm,跨平台)

    什么是SDK呢? Software Develop Kit的简称,顾名思义就是软件开发包.软件开发商实现底层模块,并对其进行类库封装,配置成高级别的开发环境,为程序员上层的程序开发提供支持.譬如Goo ...

  6. Sass学习之路(5)——变量

    1.定义变量:Sass中定义变量的关键字是'$'(毕竟程序员缺钱),并使用冒号(:)进行赋值,例如: $width:200px;//定义了一个名为width的变量,值为200px 2.普通变量和默认变 ...

  7. 提高CSS文件可维护性的五种方法

    当完成一项前端的工作之后,许多人都会忘记该项目的结构与细节.然而代码并不是马上就能完全定型,在余下的时间里还有不断的维护工作,而这些工作也许不会是你自己完成.所以,结构优良的代码能很大程度上优化它的可 ...

  8. CSS3 一、文本阴影text-shadow属性

    文本阴影text-shadow属性特效: 1.右下角阴影,左下角阴影,左上角阴影,右上角阴影 <!DOCTYPE html> <html lang="en"> ...

  9. SharePoint 2010 文档管理系列之文档搜索

    前言:如果一个文档库里面有很多文档,成千上万,对我们来说查找就是个麻烦事儿,所以搜索的必要性就体现出来了.下面,我们简单的介绍下,sharepoint搜索配置,并创建一个简单的搜索页面. 一. 配置S ...

  10. Autodesk View and Data API练练手

    大家如果参加过我们的活动,你应该已经听过看过不少关于View and Data Web Service的例子里,如果还没有的话,请看看下面这几篇: http://www.cnblogs.com/jun ...