首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.net 4调试api会导致调试器中的访问冲突。

.net 4调试api会导致调试器中的访问冲突。
EN

Stack Overflow用户
提问于 2011-04-13 11:52:29
回答 2查看 511关注 0票数 0

在启动过程中,.net 4调试api是否会以某种方式破坏应用程序的状态?

我的问题是:

  • 如果我在调试器中使用.net调试api (VisualStudio2010,SharpDevelopment4,mdbg)启动我的应用程序,就会出现各种随机访问冲突。
  • 如果我在不使用.net调试api的调试器中启动我的应用程序(Delphi2007winbg和sos扩展),那么一切都可以正常工作。
  • 如果我直接启动我的应用程序,并在以后附加调试器到它(比如visual 2010,ShartDevelopment4,mdbg,delphi 2007,windbg),一切都很好。
  • 如果我回到.net 3.5和CLR2.0,我就完全没有问题了。

那么,托管调试api中的.net 3.5到4.0是什么导致我的应用程序在启动时引发访问冲突的呢?

应用程序是用delphi (非托管)和c# (托管)编写的,使用托管vcl进行互操作。

我几乎不能给出任何例子来重现这个问题,所以我知道回答这个问题可能是不可能的,但是如果对调试api有更深入的洞察力的人可以给我一个正确的方向,或者可以帮助我缩小它的范围,我将非常感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-31 04:28:05

只是为了好玩,试着禁用Visual宿主进程。在Visual中,右键单击项目,转到“Debug”选项卡,并取消选中“启用Visual软管过程”复选框。

我们在运行32位应用程序的64位系统上的托管/非托管土地上看到了一些奇怪的东西。

票数 1
EN

Stack Overflow用户

发布于 2012-07-02 11:22:25

一些基于经验的附加信息:重要的是使用COMPLUS_MDA环境变量(记得在之后重新启动VS2010 ),而不是使用VS2010注册表项。我尝试像MSDN文章http://msdn.microsoft.com/en-us/library/d21c150d所描述的那样设置注册表项(然后重新启动计算机),因为文章指出这应该有相同的结果,但这是行不通的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5648734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档