Je fais un audit d'une application C++ fonctionnant sous Windows, compilée avec une DLL de débogage multithread. Il a beaucoup de dépendances de tiers qui peuvent générer des threads. J'ai besoin de savoir pourquoi chaque thread est là et combien d'espace de pile il alloue.Quelle est la meilleure façon de découvrir pourquoi les threads sont créés dans mon application C++ et ce qu'ils font?
Quel est un bon moyen de retracer au début de la création d'un thread afin que je puisse voir où il est engendré?
Mise à jour: Je dois préciser que j'ai le code source pour l'application entière en dehors des dépendances Microsoft. Cependant, beaucoup de threads ont des callstacks qui existent exclusivement dans les bibliothèques livrées avec le système d'exploitation, telles que ntdll.dll et kernel32.dll. Pourquoi ne pas grep le code source et le chercher?