Mi chiedo solo se lo stripping di un file di programma abbia più vantaggi del semplice risparmio di spazio su disco.
Mi chiedo solo se lo stripping di un file di programma abbia più vantaggi del semplice risparmio di spazio su disco.
Risposte:
Il vantaggio principale, per la stragrande maggioranza dei casi, è solo quello di risparmiare spazio su disco. Un vantaggio secondario, e molto più dubbio, è che rende anche più difficile il disassemblaggio o il reverse engineering del binario. Potrebbe anche ridurre leggermente il footprint di memoria, anche se in molti casi sarà un risparmio trascurabile.
Il più grande svantaggio è che rende notevolmente più difficile il debug in caso di problemi.
Su un sistema moderno con velocità della CPU quali sono e quantità di memoria / disco che cosa sono, lo stripping di un binario avrà un impatto pratico molto limitato sulle prestazioni in alcun modo. Si tratta davvero di debug, "pulizia" e preferenze personali. Alcune persone preferiscono utilizzare sempre i binari stripped per la produzione o il software "spedito". Alcune persone preferiscono lasciare sempre i simboli inclusi, "per ogni evenienza".
Personalmente, preferisco includere simboli. Nel corso dell'anno ho avuto un paio di situazioni davvero frustranti in cui un'applicazione commerciale segfault (o altrimenti andava in crash) e non avevo la capacità di individuare dove fosse il problema, perché i binari erano stati eliminati. In almeno alcuni di questi casi, il fornitore ha finito per inviarmi una versione non spogliata per l'esecuzione, fino a quando non si è bloccato nuovamente, in modo da poter ottenere informazioni di debug più utili. Se all'inizio avessero fornito la versione non privata, avremmo potuto risolvere il problema più rapidamente e con tempi di inattività inferiori.
è possibile compilare software con simboli di debug per i test e quindi eliminarli per la distribuzione. se i tuoi simboli di debug espongono qualcosa che preferiresti non esporre, questo potrebbe esserti utile