Valgrind 处理线程和机器级同步指令的效果如何?

发布于 2024-07-25 03:46:15 字数 162 浏览 5 评论 0原文

我有一个高度并行的 Windows 程序,它使用大量线程、手工编码的机器同步指令和本地滚动的并行安全存储分配器。 唉, 存储管理有一个漏洞(不是分配器中的同步漏洞, 我很确定)并且我想找到它。 Valgrind 被认为是查找存储管理错误的好工具。 在这些情况下使用 Valgrind 有什么经验吗?

I have a highly parallel Windows program that uses lots of threads, hand-coded machine synchronization instructions, and home-rolled parallel-safe storage allocators. Alas, the
storage management has a hole (not a synchonization hole in the allocators,
I'm pretty sure) and I'd like to find it.
Valgrind has been suggested as a good tool for finding storage management errors.
Any experience here with Valgrind used under these circumstances?

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

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

发布评论

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

评论(1

浅暮の光 2024-08-01 03:46:15

Valgrind 不能在 Windows 上运行,但它可以与在 Linux 上的 Wine 下运行的 Windows 程序配合使用。 如果您的程序将在 Wine 下运行,那么它很有可能与 valgrind 一起工作。 有关详细信息,请参阅 winehq.org

最新版本可以很好地处理所有 32 位 x86 指令。 它可以处理创建许多线程的程序,只是不要指望它们在 valgrind 下同时运行。 它一次只运行一个线程,就像在单核机器上运行一样。

Valgrind does not run on Windows, but it does work with Windows programs running under Wine on Linux. If your program will run under Wine, it has a decent chance of working with valgrind. See winehq.org for details.

The latest version is pretty good at handling all the 32-bit x86 instructions. It can handle programs that create many threads, just don't expect them to run simultaneously under valgrind. It will run only one thread at a time, as if it was run on a single core machine.

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