gpt4 book ai didi

multithreading - 分析多线程程序

转载 作者:行者123 更新时间:2023-12-04 06:48:57 24 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




我们有一个已有几年历史的代码库,所有最初的开发人员都早已离去。它使用了很多很多线程,但没有明显的设计或通用的架构原则。每个开发人员都有自己的多线程编程风格,因此一些线程使用队列相互通信,一些使用互斥锁锁定数据,一些使用信号量锁定,一些使用操作系统 IPC 机制进行进程内通信。没有设计文档,评论也很少。这是一团糟,似乎每当我们尝试重构代码或添加新功能时,都会引入死锁或其他问题。

那么,有没有人知道任何有助于分析和记录线程之间所有交互的工具或技术? FWIW,代码库是 Linux 上的 C++,但我有兴趣了解其他环境的工具。

更新

我感谢迄今为止收到的回复,但我希望得到比本质上“添加日志消息,找出发生了什么,并修复它”的建议更复杂或系统的东西。有很多工具可用于分析和记录单线程程序中的控制流;多线程程序没有可用的东西吗?

另见 Debugging multithreaded applications

最佳答案

投资一份英特尔 VTune及其线程分析工具。它将为您提供线程行为的系统和源级 View 。它当然不会为您自动记录事情,但至少应该对可视化在不同情况下发生的事情有真正的帮助。

我认为您可以下载试用版,因此值得一试。我只使用了 Windows 版本,但查看 VTune 网页,它也有 Linux 版本。

关于multithreading - 分析多线程程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9926/

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