在调试模式下查看变量的内容? (带断点的除外)

发布于 2024-11-06 22:04:10 字数 239 浏览 0 评论 0原文

我正在编写一个程序,它计算 Mandelbrot 集(然后在 Windows 下以 OpenGL 渲染它),以便利用并行编程技术。

我应该演示线程、互斥体和信号量的使用;所以目前我正在使用多个线程计算集合(水平分割设置)并为每个线程计时,然后将其添加到总数(总数是受互斥体保护的全局变量)

我希望能够在调试模式下查看总数 - 除了在 OpenGL 窗口中渲染总数或使用断点检查变量的内容之外,是否有任何相对简单的方法可以做到这一点?

I'm writing a program which calculates the Mandelbrot Set (and then renders it in OpenGL under Windows) in order to utilise parallel programming techniques.

I'm supposed to demonstrate the use of threads, mutexes, and semaphores; so at the moment I'm calculating the set using multiple threads (splitting the set up horizontally) and timing each thread, then adding it to a total (the total is a global variable protected by a mutex)

I'd like to be able to view the total in debug mode - is there any relatively simple way to do this, other than rendering the total in the OpenGL window, or checking the contents of the variable with break points?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一梦等七年七年为一梦 2024-11-13 22:04:10

如果您使用的是 Windows,则可以使用 OutputDebugString< /a> 并使用名为 DebugView 的工具查看结果。缺点是它会在新行上打印每个值,而不是就地更新它(我猜这是你更喜欢的)。

如果您想查看将就地更新的值,您可以使用 性能计数器,但这比较麻烦:首先,你的程序必须实现一个 提供商。其次,您必须编写另一个程序(消费者)来跟踪此 计数器 并显示它。但如果您想要最大的灵活性,这个 API 就很棒,因为它意味着许多程序可以观察提供者的计数器,并且可以将它们记录到文件中并重播或转换为图表。

If you're on windows you could use OutputDebugString and view the results with a tool called DebugView. The downside is that it will print each value on a new line instead of updating it in place (which I guess is what you prefer).

If you want to view a value that will be updated in-place, you could probably use Performance Counters, but it's much more of a hassle: First, your program would have to implement a provider. And second, you'll have to write another program (a consumer) to track this counter and display it. But if you want maximum flexibility, this API is great, since it means many programs can observe the provider's counters, and they can, for example, be logged to a file and replayed or turned into a graph.

复古式 2024-11-13 22:04:10

最简单的方法是以某种方式向调试流输出一条消息,然后使用 IDE 查看它。
在windows下你可以使用:
OuputDebugString(LPCTSTR lpOutputString);

Easiest way is to somehow output a message to the debug stream and then view it using your IDE.
Under windows you can use:
OuputDebugString(LPCTSTR lpOutputString);

陌路黄昏 2024-11-13 22:04:10

您应该能够从调试器读取全局变量。你尝试过吗?

You should be able to read the global variable from the debugger. Have you tried?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文