【C++】Debug C++ 程序时如何查看数组中的内容

应该说,在 debug 的时候查看数组中的内容是一个十分常见的需求,但是有时候却会在这种需求上遇到坑。

本文中所有的案例均在 vscode 和 codeblocks 下使用 mingw 尝试过,其他平台怎么样暂且还不知道

一般来讲,对传统的指针式的 array 进行查看是不会有什么问题的。但当我们把数组传到函数里面,使其退化为原始的指针的时候,就无法查看了。

这时候,我们可以通过在 watch 中添加一些表达式来达到查看数组内容的目的,有几种方法可以使用。

第一种是:

1
arr[0] @ size

就像这样:

第二种是:

1
*(type_name(*)[size])arr

经测试,这两种方法在 codeblocks 中也可以用:

另外,还有一种方法,是这样的:

1
arr, size

但貌似这种方法只能在 Visual Studio 中使用,我在 vscode 和 CB 里面尝试都没成功,可能是因为我用的是 mingw 套装。