gpt4 book ai didi

c - 变量取一定值时的断点

转载 作者:太空狗 更新时间:2023-10-29 15:17:08 25 4
gpt4 key购买 nike

我有类似于以下代码的东西......

void function(int x)
{
// complicated operation on x
blah
blah
}

除了 x 恰好是一个特定值(例如“273”)外,一切似乎都运行良好。但是 x 为 273 是一个罕见的事件,99.999% 的时间它是其他值。现在我想观察当这个函数被 x=273 调用时的事件,所以我想插入一个断点,只有 x 是那个值。也许我可以这样做:

void function(int x)
{
if (x == 273)
{
// put breakpoint on this line.
}
// complicated operation on x
blah
blah
}

问题是编译器可能会优化这个“if”语句,因为它什么都不做。所以我的问题是我应该在“if”语句中放入什么以确保它被编译成某种东西......或者我应该以某种完全不同的方式追踪 x==273 的情况。

最佳答案

听起来您正在寻找的是条件断点。这些是 Visual Studio 的一项功能,它允许仅在非常特定的条件为真时才命中断点。

为此,在函数的开头放置一个断点。然后右键单击它并选择“条件”。然后添加以下表达式

x == 273

现在您可以在不更改源二进制文件的情况下对其进行调试。

关于c - 变量取一定值时的断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2494231/

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