Visual studio Visual Studio调试器问题
在VisualStudio2008中,调试大约1-2分钟后,当我按F10(单步执行)时,调试器挂起,VisualStudio冻结5-10秒,然后转到下一行。然后,无论我做什么(F10、F5、F11等),调试器都会继续执行,就好像我按了F5键并关闭了正在调试的所有窗体一样。我总是必须重新启动应用程序 它很难重现,而且不是每次我想调试某个东西时都会发生。有人有解决办法吗 编辑:我用以下代码重现了我的问题:Visual studio Visual Studio调试器问题,visual-studio,visual-studio-2008,debugging,Visual Studio,Visual Studio 2008,Debugging,在VisualStudio2008中,调试大约1-2分钟后,当我按F10(单步执行)时,调试器挂起,VisualStudio冻结5-10秒,然后转到下一行。然后,无论我做什么(F10、F5、F11等),调试器都会继续执行,就好像我按了F5键并关闭了正在调试的所有窗体一样。我总是必须重新启动应用程序 它很难重现,而且不是每次我想调试某个东西时都会发生。有人有解决办法吗 编辑:我用以下代码重现了我的问题: static void Main(string[] args) { XElement e
static void Main(string[] args)
{
XElement e = new XElement("root");
Test(e, 0);
}
static void Test(XElement parentElement, int i)
{
if (i < 1000)
{
XElement element = new XElement("element");
parentElement.Add(element);
Test(element, ++i);
}
}
static void Main(字符串[]args)
{
XElement e=新XElement(“根”);
试验(e,0);
}
静态无效测试(XElement parentElement,int i)
{
如果(i<1000)
{
XElement元素=新的XElement(“元素”);
parentElement.Add(元素);
试验(元件+i);
}
}
您需要在条件为“i==999”的行“XElement element=new XElement(“element”);”上放置一个条件断点。然后启动程序,等待2-3秒,将正常断点放在“parentElement.Add(element);”行上。现在VisualStudio冻结,无法调试。在WinForm应用程序中,它关闭按F10后打开的所有窗体
但我发现,如果我在“工具->选项->调试”中禁用调试选项“变量窗口中对象的调用字符串转换函数”,我就可以进行调试。虽然速度很慢,但至少VisualStudio不会冻结。有人知道它为什么这样做吗?因为我不想禁用这个选项,没有它进行调试真的很烦人
我还注意到,如果我只在主方法的末尾放一个断点,那么代码运行速度比递归方法中有一个条件断点要快得多。我不确定我是否遇到过这种情况,但如果我是你,如果你没有,请删除你的bin文件夹,然后重建你的项目。然后运行干净的溶液以确保安全。有时候,当你的PDB过时时,会发生一些奇怪的事情——所以你需要把它们清除掉
另外,如果您调用外部程序集,请删除它们并重新连接它们,以确保您拥有最新的程序集。我发现,每当我将不存在的远程unc共享添加到符号目录列表中时,都会出现这样的减速 尝试转到工具->选项->调试->符号,并确保该列表中的所有目录实际存在
但是,我不知道这将如何导致程序在该点之后继续。尝试删除存储调试/断点信息的解决方案用户选项文件(.suo)。您将丢失所有解决方案用户设置,例如断点位置。当您遇到“有趣的”调试事件时,这是第一件要尝试的事情,因为此文件可能会损坏
如果这不能解决问题,那么您还有其他问题,例如线程问题、内存碎片过多、垃圾收集问题、dispose/finalize问题等等。我在另一个Stackoverflow线程上找到了这个问题的答案。此问题有一个MS。我遇到了与您描述的完全相同的问题。MS修补程序解决了这个问题,现在每当我进行新的2008 VS安装时,我都会安装此修补程序。请从此链接下载修补程序
我知道这是一个旧线程,但这是在我调试Excel加载项时发生的 问题是我的断点在后台线程中,在我的监视窗口中,我对Excel中的ActiveWorkbook进行了旧的检查。和其他许多调用一样,该调用只应发生在Excel的主线程上
一旦我卸下那块手表,它又能正常调试。你能在另一个系统上重新安装你的操作系统和VS并在那里试着调试吗?我会怀疑其他软件/配置/硬件,而不是这是一个直接的VS问题。我不这么认为,因为它在我同事的计算机上也会出现同样的问题,而且他们中的一些人有不同的操作系统。你有很多断点吗?不,不幸的是,这似乎没有帮助。许多评论说,修复没有修复任何问题=(网页上的许多评论说,修复根本没有帮助=(请确保在应用修补程序后删除所有项目的bin/obj文件夹。)