gpt4 book ai didi

c++ - Visual Studio 2008调试可视化矩阵

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:09 25 4
gpt4 key购买 nike

我正在构建一个复杂的数学软件,我必须在调试创建的一些 500x700 矩阵时查看。此外,矩阵没有按顺序填充,这意味着它们是“随机”填充的,我需要看到这一点。我读过,在内存屏幕上我可以看到内存位置及其值,但是对于如此庞大的矩阵,内存窗口对我来说没有用。

所以我的问题是,在 visual studio 08 中除了内存窗口还有其他调试和监视矩阵的方法吗?

最佳答案

我用来可视化复杂数据结构的方法是在你的类中创建一个 Dump() 方法,它将数据格式化为一个字符串并返回一个 std::string。如果您想检查变量,请在调试器中选择它并使用 Ctrl-Alt-Q 调用 QuickWatch 并键入 myVariable.Dump()。然后,这将向您显示压缩成一行的字符串。如果您随后单击放大镜图标,它将打开一个可以调整大小的文本可视化窗口。

如果您需要对格式进行更多控制,请使 Dump() 方法采用 int 来满足您所需的详细程度。

编辑:

好的,这是一个例子,使用 stringstream 来组装一个字符串:[免责声明:我还没有尝试编译它]

class Matrix {
public:
int m_Data[ROWS][COLS];

...
std::string Dump() const {
std::ostringstream oss;
for (int r=0;r<ROWS; r++) {
for (int c=0;c<COLS; c++) {
oss << m_Data[r][c] << " ";
}
oss << "\n";
}
return oss.str();
}

void DumpToFile() {
std::ofstream os("output.txt");
os << Dump();
}
};

Dump() 方法将输出一个字符串,您可以在 QuickWatch 窗口中显示该字符串。如果文本预览太小,那么您可以调用 DumpToFile() 而不是将矩阵写入一个文件,您可以在单独的文本编辑器中查看该文件。关键是 QuickWatch 将评估函数调用(在有限的程度上),因此您可以使用它来调用这些辅助方法。

关于c++ - Visual Studio 2008调试可视化矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12479264/

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