In C su Solaris 10, mi piacerebbe ottenere lo stack di chiamata da un thread arbitrario all'interno di un processo.Ottenere lo stack di chiamate da qualsiasi thread all'interno di C
Ho molti thread di lavoro e un thread che li monitora tutti per rilevare loop stretti e deadlock. La funzione che vorrei implementare è che il thread di monitoraggio stampi più volte lo stack di chiamate dal thread "sospeso" prima che lo uccida.
So come implementarlo facendo in modo che il thread di monitoraggio esegua pstack (con system() o forking). Ma mi piacerebbe essere in grado di implementare questa funzione in C. C'è un modo per farlo?
So come far stampare a un thread lo stack di chiamata OWN, camminando nello stack, che è utile se raggiunge un assert, ma non come farlo per un altro thread all'interno dello stesso processo.
Grazie per qualsiasi aiuto. NickB
Ma in che modo ciò consente a un thread di ottenere lo stack di chiamate da un altro thread? – NickB