调试代码块中的数组

Debug arrays in Codeblocks

本文关键字:数组 代码 调试      更新时间:2023-10-16

in 代码块 我正在尝试调试程序

int main() {
fast;
vector<int> a;
for(int i=0; i<10; i++) a.push_back(i);
for(int i=9; i>=0; i--) cout << a[i] << ' ';
cout << endl;
int b[10];
for(int i=0; i<10; i++) b[i]=i;
for(int i=9; i>=0; i--) cout << b[i] << ' ';
}

因此,当我打开调试模式并通过单击"下一行"对其进行调试时,我看到在最后一行调试器转到声明向量 a 并且不打印数组 b 的行

因此,如果我删除有关向量 a 的代码,调试器只是不显示数组 b。

这是如何工作的?

Code::blocks提供调试功能。我们可以观察变量的值并逐步执行。

创建项目 通过在所需行号处右键单击鼠标来添加断点,然后选择切换断点。 单击调试菜单和表单调试窗口选项选择监视窗口。 在监视窗口中,您可以看到变量的值,并在断点后使用 shift+F7 键逐步执行。

我的回答对您来说可能不清楚,或者要了解更多信息,您可以按照此代码块 wiki 页面 http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks

我发现我忘了快速删除行;从模板中,它的工作是

#define fast cin.tie(0);cout.tie(0);cin.sync_with_stdio(0);cout.sync_with_stdio(0);

这会破坏调试模式下数组的输出。

UPD by @N.Shead:您还可以使用flushendl来打印缓冲区。