jjzjj

LdrpLoaderLock

全部标签

c++ - 为什么我的程序会在拥有线程的情况下生成 LdrpLoaderLock 死锁?

我开发了一个我多年来一直致力于开发的C++应用程序。我们最近在我们的测试实验室中添加了大约4个处理器测试机。这样做之后,我们发现负载下的特定测试间歇性地导致LdrpLoaderLock死锁,拥有的线程不再运行。拥有的线程ID通常在数字上具有暗示性,因为从正在运行的线程推断出可能的线程ID,并且锁内存结构看起来没有损坏。我在调试器中没有遇到这个问题。我只能在它发生后才能看到它。我开始记录我正在创建的所有线程,但我没有在其中看到问题线程ID。但这可能没有意义,因为在发生死锁后,日志记录可能无法正常工作。我想我需要一种方法来跟踪线程创建和入口点,以便我可以找出哪个线程正在执行此操作。感谢您的