.net 4调试api导致被调试者访问冲突

| .net 4调试api有什么方法可以在启动过程中以某种方式破坏应用程序的状态? 我的问题如下: 如果我使用.net调试API(Visual Studio 2010,Sharp Development 4,mdbg)从调试器中启动应用程序,则会遇到各种随机访问冲突。 如果我不使用.net调试API(delphi 2007,带有sos扩展名的windbg)从调试器中启动应用程序,则一切正常。 如果我直接启动应用程序,然后再将调试器附加到该应用程序(例如Visual Studio 2010,Sharp开发4,mdbg,delphi 2007,windbg),则一切正常。 如果我回到.net 3.5和clr 2.0,我将没有任何问题。 那么,从托管调试API中的.net 3.5到4.0发生了什么变化,导致我的应用程序启动后引发访问冲突? 应用程序是使用托管vcl以delphi(非托管)和c#(托管)编写的,以进行互操作。 我几乎无法举任何例子来重现此问题,所以我知道回答这个问题可能是不可能的,但是如果对调试API有更深入了解的人可以给我一个正确方向的提示,或者可以帮助我缩小范围我会非常感激。     
已邀请:
仅出于娱乐目的,请尝试禁用Visual Studio托管过程。在Visual Studio中,右键单击项目,转到“调试”选项卡,然后取消选中“启用Visual Studio托管过程”复选框。 我们已经在运行32位应用程序的64位系统上的托管/非托管领域中看到了一些奇怪的东西。     
基于经验的一些其他信息:使用COMPLUS_MDA环境变量(请记住此后要重新启动VS2010),而不是MDA注册表项,这一点很重要。我尝试按照MSDN文章http://msdn.microsoft.com/zh-cn/library/d21c150d的说明设置注册表项(随后重新启动计算机),因为该文章指出这应该具有相同的结果,但是没用。     

要回复问题请先登录注册