Esiste un modo per stampare la traccia dello stack di runtime di un processo Ruby 1.9.x? So che c'era un'utilità chiamata pstack
per Ruby 1.8, ma il progetto sembra essere stato abbandonato un paio di anni fa: https://github.com/ice799/pstack. Esiste qualcosa come questo per Ruby 1.9? Molte grazie!Come posso stampare la traccia dello stack in runtime di un processo Ruby 1.9?
EDIT: Sono interessato all'utilizzo di uno strumento esterno per generare la traccia dello stack (non in esecuzione nello stesso spazio di memoria del processo Ruby).
Come ha sottolineato @mosch, il metodo Kernal#caller
funziona dal processo Ruby in esecuzione.
Si potrebbe anche costruire a supporto al tuo codice Ruby che intrappola segnali di processo e stampa una traccia dello stack:
Signal.trap("SIGTERM") { p caller }
Riferimento: http://www.ruby-doc.org/core-1.9.3/Signal.html
ho potuto costruire questa funzionalità nel mio codice, ma sono Preferisco usare una soluzione esterna più generalizzata. Grazie.
Grazie @mosch. Ho aggiornato la mia descrizione per aggiungere alcuni chiarimenti. –