C'è un modo per scaricare gli oggetti in memoria da un processo ruby ??in esecuzione?
Domanda
Uccidere il processo mentre si ottengono queste informazioni andrebbe bene.
Soluzione
Per i più hardcore c'è anche BleakHouse che ti dà una copia speciale compilata su misura di ruby ??con una migliore tracciabilità delle perdite di memoria powarz
Altri suggerimenti
Un modo rapido e sporco sarebbe ObjectSpace.each_object {| e | p e}
. Potresti fare alcuni test per determinare cosa vuoi conservare, o Marshal gli oggetti.
Per 1.9.2 / 1.9.3 c'è gemma heap_dump, può essere iniettato in un processo in esecuzione usando gdb (ma era più stabile includerlo nel processo stesso, nessun sovraccarico di prestazioni)
Scarica i riferimenti agli oggetti, non agli oggetti stessi, ma questo è utilizzabile se ti piacciono le perdite di combattimento