我正在编写一个计算Mandelbrot Set的程序(然后在Windows下的OpenGL中渲染它),以便利用并行编程技术。
我应该演示线程,互斥和信号量的使用;所以目前我正在使用多个线程计算集合(水平拆分设置)并计算每个线程,然后将其添加到总计(总数是一个受互斥锁保护的全局变量)
我希望能够在调试模式下查看总数 - 是否有任何相对简单的方法可以做到这一点,除了在OpenGL窗口中渲染总数,还是用断点检查变量的内容?
答案 0 :(得分:2)
最简单的方法是以某种方式将消息输出到调试流,然后使用IDE查看它。 在Windows下,您可以使用: OuputDebugString(LPCTSTR lpOutputString);
答案 1 :(得分:2)
如果您使用的是Windows,则可以使用OutputDebugString并使用名为DebugView的工具查看结果。缺点是它会在新行上打印每个值而不是更新它(我猜你喜欢它)。
如果您想要查看将在原地更新的值,您可以使用Performance Counters,但这更麻烦:首先,您的程序必须实现provider 。其次,您必须编写另一个程序(消费者)来跟踪此counter并显示它。但是如果你想要最大的灵活性,这个API很棒,因为它意味着许多程序可以观察提供者的计数器,例如,它们可以记录到文件中并重放或变成图形。
答案 2 :(得分:0)
您应该能够从调试器中读取全局变量。你试过吗?