W języku C na Solarisie 10, chciałbym uzyskać stos wywołań z dowolnego wątku w procesie.Uzyskaj stos wywołań z dowolnego wątku w C
Mam wiele wątków roboczych i jeden wątek, który monitoruje je wszystkie w celu wykrycia ciasnych pętli i zakleszczeń. Funkcja, którą chciałbym zaimplementować, służy do monitorowania wątku, aby kilka razy wydrukować stos wywołań z wątku "zawieszonego", zanim go zabije.
Wiem, jak to wdrożyć, mając wątek monitorowania wykonać pstack (z system() lub przez rozwidlenie). Ale chciałbym móc wdrożyć tę funkcję w C. Czy jest jakiś sposób to zrobić?
Wiem, jak sprawić, aby wątek wydrukował swój stos wywoławczy WŁASNEGO, chodząc po stosie, co jest przydatne, gdy trafi w potwierdzenie, ale nie w jaki sposób zrobić to dla innego wątku w ramach tego samego procesu.
Dzięki za pomoc. NickB
Ale w jaki sposób pozwala to jednemu wątkowi uzyskać stos wywołań z innego wątku? – NickB