繁体   English   中英

为什么我的VC 2005 x64调试会话在第一次试用时始终失败(但在第二次试用中没有失败)?

[英]Why does my VC 2005 x64 Debug session allways fail on first trial (but not on second trial)?

我有一个在Win32和x64版本(使用Windows XP x64)中运行的大型C ++应用程序。 调试x64版本时,在每个代码更改后,我开始的第一个调试会话都会停止

myapp.exe中0x77ee5f3c处未处理的异常:0xC0000005:访问冲突写入位置0x0000000000030c90。

调用堆栈在ntdll中显示无尽的递归调用:

ntdll.dll!0000000077ee5f46()    
ntdll.dll!0000000077ef31ed()    
ntdll.dll!0000000077efbc0b()    
ntdll.dll!0000000077f2539e()    
ntdll.dll!0000000077ee5f46()    
ntdll.dll!0000000077ef31ed() 
 etc.   

在此之后,当我选择“停止调试”,然后选择“开始调试”时,通常一切都很好,并且直到我编译一些代码和链接,或者如果我重新启动Visual Studio,问题才再次发生。

您列出的地址是32位地址。 这表明VS试图在32位进程上使用其64位调试器。

解决方案中可能混合使用了“ Win32”,“ x64”和“任何CPU”构建平台。 确保您的“活动构建平台”得到一致定义。 .net的东西在表面上声称“任何cpu”,在它的下方具有与32位操作相似的功能。

关闭“编辑并继续”调试似乎也可以帮助这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM