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

简介:


随着Visual Studio 2010正式版的发布,相信不少人都像我一样升级到了Visual Studio 2010。那么您在使用VS2010在AutoCAD,Map 3D或Revit的.net应用程序开发时,多半也会遇到调试时断点总是不起作用的问题吧。Kean和Jeremy最近分别写了文章提到了几个解决办法,在这里给大家共享一下,原文请参考Hitting breakpoints in .NET Class Libraries while debugging with Visual Studio 2010 和Debugging with Visual Studio 2010 and RvtSamples

 

更新:

  如果你是用VS2010+ AutoCAD 2012系列产品调试中发现问题,请参考峻祁连的另外一篇文章:

Visual Studio 2010开发AutoCAD 2012 .net 应用程序调试时断点不起作用 

 

断点不起作用的原因在于Visual Studio 2010在调试时启动了默认的debugger(v4.0),但是为了让我们的.net应用程序能在AutoCAD Map (或Revit)等上运行,我们需要.net 2.0 framework( 3.5也是运行在CLR 2.0之上的)。

解决办法我们有如下两个方案:

方案1

编辑宿主程序的config 文件(acad.exe.config, revit.exe.config等等),这个文件在AutoCAD的安装目录下。在</configuration>前面加上下面的代码:

<startup>

<supportedRuntime version="v2.0.50727" />

</startup>

 

方案2

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

  • 右键单击Solution Explorer,选择Add->Existing Project,浏览到AutoCAD的启动文件Acad.exe

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

  • 打开项目属性对话框 Properties   

  • 设置 Debugger Type 为 Managed v2.0 

 

好了,打完收工,现在再设置断点就可以按照以前的方法跟踪调试了。

 

Cheers,

峻祁连

 

作者: 峻祁连
邮箱:junqilian@163.com 
出处: http://junqilian.cnblogs.com 
转载请保留此信息。



本文转自峻祁连. Moving to Cloud/Mobile博客园博客,原文链接:http://www.cnblogs.com/junqilian/archive/2010/04/29/1724403.html ,如需转载请自行联系原作者
相关文章
Visual Studio Code设置断点时出现Unverified breakpoint该咋办
Visual Studio Code设置断点时出现Unverified breakpoint该咋办
496 0
|
C# C++ Windows
艾伟_转载:Visual Studio调试之断点基础篇
文章导航 Visual Studio调试之断点基础篇 Visual Studio调试之断点进阶篇 Visual Studio调试之断点技巧篇 我曾经问过很多人,你一般是怎么调试你的程序的? F9, F5, F11, F…… 有很多书和文章都是介绍怎么使用Visual Studio编写WinForm啦,、ASP.NET之类的程序;知道如何编写固然重要,但是我觉得程序员可能只会花费30%的时间在编写代码上,剩下的大部分时间都是在调试程序。
1189 0
|
C++
艾伟_转载:Visual Studio调试之断点技巧篇
文章导航 Visual Studio调试之断点基础篇 Visual Studio调试之断点进阶篇 Visual Studio调试之断点技巧篇 函数断点 在前面的文章Visual Studio调试之避免单步跟踪调试模式里面我讲了如何设置函数断点,说实话,我个人喜欢设置函数断点,而不是在代码行里面设置断点。
1474 0
|
监控 C# C++
艾伟_转载:Visual Studio调试之断点进阶篇
文章导航 Visual Studio调试之断点基础篇 Visual Studio调试之断点进阶篇 Visual Studio调试之断点技巧篇 在上一篇文章Visual Studio调试之断点基础篇里面介绍了什么是断点,INT 是Intel系列CPU的一个指令,可以让程序产生一个中断或者异常。
1194 0