【发布时间】:2021-07-19 14:39:45
【问题描述】:
看这段代码:
void F1() {
for (int i = 0; i < 100; i ++)
F2();
}
void F2() {
for (int i = 0; i < 100; i ++)
F3();
}
void F3() {
int a = 0; // break point here
for (int i = 0; i < 100; i ++)
a ++;
}
我想在F3() 中的int a = 0; 行设置一个断点,但我只想在F1() 中的i==70 和F2() 中的i==80 时暂停。
这意味着当我在F3() 的范围内时,我必须查看F2() 和F1() 的局部变量。但在实际代码中,这两个变量并不意味着要传递下去。
这样做的正确方法是什么?
【问题讨论】:
-
相关,不一定重复:stackoverflow.com/a/4251470/1132334(object id方式,object ids在断点的条件框内有效)
-
在这种情况下,我通常会创建一个全局变量进行调试。
-
你看不到范围外的变量,因为它们不存在于另一个范围内。
-
@0___________ 在程序内没有,但我不太确定 MSVC 调试器,因为它支持所谓的ObjectID references。
标签: c# visual-studio debugging