gpt4 book ai didi

visual-studio - 使用断点条件进行调试时,Visual Studio 行为异常

转载 作者:行者123 更新时间:2023-12-04 05:46:36 28 4
gpt4 key购买 nike

我使用的一种被称为数万次的方法最近开始抛出异常。在大多数调试情况下,我会在此方法的顶部设置一个断点并一直运行,直到到达我感兴趣的调用,并使用触发异常的参数值。在这种情况下这是不切实际的,所以我尝试设置一个断点,其条件只有在该参数值出现时才会中断。我在下面指示的位置创建了一个断点,并给它一个条件 str == "OffendingValue"

class Foo
{
// Bar() is called many, many times
void Bar(string str)
{
try
{
// Breakpoint inserted here
...
}
catch (Exception ex)
{
...
}
}
}

令我惊讶的是,这样做会导致 Visual Studio 和我的应用程序在 Debug模式下停止运行。我的应用程序启动并输出了一些简单的日志消息,但随后完全停止响应。考虑到 Visual Studio 的执行速度可能会慢一些,因为它必须做额外的工作来监视断点条件,所以我离开了我的办公 table 15 分钟,让它有一些时间运行。当我回来时,没有任何变化。我可以通过删除断点并使用相同的条件重新创建它来重现该条件。最奇怪的是,Break All 调试命令通常会中断当前正在执行的语句上的程序执行,无论它是否是断点,但当我启用了这个有问题的断点时,它什么也不做。

有没有人在 Visual Studio 断点条件下遇到过类似的行为?我可以毫无问题地使用命中计数条件。

最佳答案

每当我尝试在 Visual Studio 中使用条件断点时,我都会遇到同样的问题。调试器运行如此缓慢以至于它变得毫无用处。相反,我最终暂时在代码中添加了一个 if 语句,并在其中添加了我的断点。这不太方便,但代码以正常速度执行并且确实完成了工作。

class Foo
{
// Bar() is called many, many times
void Bar(string str)
{
try
{

if(str == "condition")
{
int i = 0; // Breakpoint inserted here
}
...
}
catch (Exception ex)
{
...
}
}
}

关于visual-studio - 使用断点条件进行调试时,Visual Studio 行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/288374/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com