2011-12-12 7 views
8

ulimit -c può essere utilizzato per impostare RLIMIT_CORE e limitare la dimensione massima di un decodramma che un processo può generare. Eventuali coredump più grandi verranno troncati in queste dimensioni.A che cosa serve un decriptato troncato?

Qualcosa di utile può essere fatto con un simile troncato? Forse su una piattaforma diversa da Linux x86-64 o con un debugger diverso da GDB?

In caso negativo, perché POSIX specify this behavior, anziché, ad esempio, troncare un coredump a zero byte se RLIMIT_CORE viene superato?

+0

Non ero sicuro di postare questo qui o su [unix.se]. Sarei felice di ripubblicarlo lì, se è più appropriato. – daxelrod

risposta

6

Qualcosa di utile può essere fatto con un simile troncato?

Sì, lotti di cose.

Il dump core troncato di solito contiene i segmenti dello stack, quindi i comandi where e thread apply all where funzioneranno normalmente. Spesso è tutto ciò che serve da un nucleo. Anche i comandi per esaminare variabili locali e globali funzioneranno altrettanto bene.

I comandi per esaminare le variabili allocate su heap possono funzionare per alcune variabili, ma non necessariamente per altre. Tuttavia, questo è molto meglio di niente rispetto a.