解决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
解决AutoCAD2010在VS2010上无法命中断点的更多相关文章
- vs2008 调试时不会命中断点,源代码与原始版本不同,解决办法
当前不会命中断点,源代码与原始版本不同,解决办法 1.应该是自己一行里写的代码太长了 格式化一下 或者 换下行 2. VC直接把整个文件格式化了一次,断点就可以用了 菜单:编辑-〉高级-〉设置选定内容 ...
- 当前不会命中断点。源代码与原始版本不同 (VS2012)
遇到“当前不会命中断点.源代码与原始版本不同”的问题. 在网上查的类似: 一般studio会提示将“工具”,“选项”,“调试”,“要求源文件与原始版本完成匹配”去掉勾.但是这个配置去掉治标不治本,错误 ...
- Visual Studio 当前不会命中断点的问题
这个问题一般有两个版本 1.当前不会命中断点,还没有为该文档加载任何符号. 2.当前不会命中断点,源代码与原始版本不同. 要解决第一个问题,就要了解一种文件格式“PDB(Program DataBas ...
- release环境下,当前不会命中断点,还没有为该文档加载任何符号
今天在release编译环境下出现了如标题所说的问题“ 当前不会命中断点,还没有为该文档加载任何符号”,在网上找了几个方法都没有解决我的问题,咨询了一下师傅,解决了,很简单,方法如下:右键--属性-- ...
- Visual Studio2012调试时无法命中断点
今天在调试代码的时候发现在Debug模式下无法命中断点,然后一步步去检查原因,最后发现是在项目-->属性-->生成-->高级-->调试信息被设置为None,然后在选项中将其选择 ...
- 遇到Visual Studio "当前不会命中断点.还没有为该文档加载任何符号"的情况
一.问题及原因 有这样一种调用逻辑:A.exe调用B.dll.现在想要在B的源代码中打断点,从A发起进行调试,却给出了"当前不会命中断点.还没有为该文档加载任何符号"的提示.感觉十 ...
- "当前不会命中断点,没有与此行关联的可执行代码"可能和"断点位置不准确"有关
今天用VS调试代码遇到一件怪事,在函数结束前的return那一行打了断点,却报"当前不会命中断点,没有与此行关联的可执行代码".看了自己是debug模式,而且没有开启优化,不应该出 ...
- VS :不会命中断点 代码版本与原始版本不同
设置了断点,但是无法中断,提示"不会命中断点 代码版本与原始版本不同".这种情况下一般是生成的bin\debug下面的文件与实际代码不符. 但是这次确实没有问题,重新更新程序,清理 ...
- VC:当前不会命中断点,还没有为该文档载入不论什么符号
VS2013中设置的断点无效:"当前不会命中断点,还没有为该文档载入不论什么符号".问题主要出在没有生成调试信息.解决方法例如以下: (1)项目-〉属性-〉配置属性-〉C/C++- ...
随机推荐
- jScrollPane 美化滚动条
在线实例 滚动条可见 滚动条隐藏 使用方法 <div class="container"> <h1>滚动条可见</h1> <div cla ...
- 简洁的jQuery cxMenu 手风琴导航
版本: jQuery v1.7+ jQuery cxMenu v1.2 注意事项: 自动判断是否有子导航,有则显示并不触发链接,无则触发链接. 实例预览 使用方法 载入 JavaScript 文件 & ...
- Debug - 支持浏览器和 Node 平台的全端调试工具
Debug 是一个跟踪调试消息的 JavaScript 库.因为它只是对 console.log 的包装,所以支持 Node 和浏览器.它允许你过滤日志输出而不需要改变你的源代码,也输出时间差异,可以 ...
- 20款时尚的 WordPress 简洁主题【免费下载】
在这篇文章中,我们收集了20款时尚的 WordPress 简洁模板.WordPress 是最流行的博客系统,插件众多,易于扩充功能.安装和使用都非常方便,而且有许多第三方开发的免费模板,安装方式简单易 ...
- Java2_java入门时的一些基本概念的理解(j2ee,j2se,j2me,jdk,sdk,jre,jvm,跨平台)
什么是SDK呢? Software Develop Kit的简称,顾名思义就是软件开发包.软件开发商实现底层模块,并对其进行类库封装,配置成高级别的开发环境,为程序员上层的程序开发提供支持.譬如Goo ...
- Sass学习之路(5)——变量
1.定义变量:Sass中定义变量的关键字是'$'(毕竟程序员缺钱),并使用冒号(:)进行赋值,例如: $width:200px;//定义了一个名为width的变量,值为200px 2.普通变量和默认变 ...
- 提高CSS文件可维护性的五种方法
当完成一项前端的工作之后,许多人都会忘记该项目的结构与细节.然而代码并不是马上就能完全定型,在余下的时间里还有不断的维护工作,而这些工作也许不会是你自己完成.所以,结构优良的代码能很大程度上优化它的可 ...
- CSS3 一、文本阴影text-shadow属性
文本阴影text-shadow属性特效: 1.右下角阴影,左下角阴影,左上角阴影,右上角阴影 <!DOCTYPE html> <html lang="en"> ...
- SharePoint 2010 文档管理系列之文档搜索
前言:如果一个文档库里面有很多文档,成千上万,对我们来说查找就是个麻烦事儿,所以搜索的必要性就体现出来了.下面,我们简单的介绍下,sharepoint搜索配置,并创建一个简单的搜索页面. 一. 配置S ...
- Autodesk View and Data API练练手
大家如果参加过我们的活动,你应该已经听过看过不少关于View and Data Web Service的例子里,如果还没有的话,请看看下面这几篇: http://www.cnblogs.com/jun ...