Ho un software buggy (memoria trapelata). Come prova, ho 1 GB di file core.dump. La dimensione dell'heap è 900 MB, quindi, ovviamente, qualcosa alloca, ma non libera la memoria.gdb, memoria di dump, salvataggio dell'output formattato in un file
Quindi, ho un'area di memoria da esaminare in questo modo.
(gdb) x/50000s 0x200000000
Tuttavia, questo è difficile da indovinare solo ad occhio nudo, che oggetto o struct non viene liberato. La mia idea di tracciare è, "Salvare l'output formattato gdb in un file ed eseguire una corrispondenza di modello per vedere quale stringa magica si presenta di più." Quindi, ecco la mia domanda:
Come posso salvare l'output del seguente comando in un file di testo, in modo che possa scrivere un analizzatore?
(gdb) x/10000000s 0x20000000 <-- I need this output into a file
Grazie per qualsiasi aiuto.
C'è anche un comando dedicato discarica di gdb. Vedi anche: https://sourceware.org/gdb/onlinedocs/gdb/Dump_002fRestore-Files.html – Alex