Visual Studio 2008调试可视化矩阵
Visual Studio 2008 debugging visualizing matrix
我正在构建一个复杂的数学软件,在调试创建的一些500x700矩阵时,我必须查看。此外,矩阵没有按顺序填充,这意味着它们是"随机"填充的,我需要看到这一点。我读到过,在内存屏幕上,我可以看到内存位置及其值,但对于如此巨大的矩阵,内存窗口对我没有用处。
所以我的问题是,除了内存窗口之外,还有其他方法可以在visualstudio08中调试adn观察矩阵吗?
我用来可视化复杂数据结构的方法是在类中创建一个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++项目的可视化代码中设置调试
- 如何在可视化代码中生成用于 c++ 开发的调试器?
- 可视化C++调试器未显示返回值
- 如何为String_view创建(VC14)调试可视化器
- 调试可视化C++复杂项目
- 可视化C++条件调试
- Visual Studio 2008调试可视化矩阵
- 如何为Visual Studio 2012调试器编写自定义本机可视化工具DLL
- 类似(图形可视化)堆栈跟踪(可视化调试)的树
- 如何编写一个非常简单的Visual Studio调试器可视化工具
- 为什么将可视化调试器附加到我的程序比直接从visual studio运行它更快?
- 非托管C++的GDI对象的调试器可视化工具
- Visual Studio 2010调试器可视化Qt图像类型
- 用于Mozilla对象的Visual Studio调试器可视化器
- Visual c++调试器可视化器
- "MATLAB style"计算机视觉\图像处理可视化\调试工具
- 如何使用gdb达到与使用可视化调试器相同的效率水平
- 可视化 如何配置 VS Code 以编译/调试C++
- 有没有轻量级的linux c++ IDE+像eclipse cdt这样的可视化调试器?
- 我如何使用可视化调试器快速查看本地cpp类