solarison egy pstack-ből simán meg lehet mondani, hogy miért teker a program.
linuxon egy debuggerrel megállítod, kérsz minden threadről stack frame dumpot, és szintén lehet tudni.
persze, ha a program forrásához nincs hozzáférésed, akkor mérsékelten értelmes az egész...