El ejemplo específico que tengo en mente involucra al juego alfa actualmente Minecraft, pero esta es una pregunta general que creo que merece cierta conversación.
Minecraft está escrito en Java, y los rastros de pila generalmente se ven así (ejemplo real):
java.lang.NullPointerException
at d.a(SourceFile:247)
at gi.b(SourceFile:92)
at bd.a(SourceFile:33)
at bn.a(SourceFile:69)
at bn.e(SourceFile:115)
at bn.d(SourceFile:103)
at net.minecraft.client.Minecraft.i(SourceFile:1007)
at net.minecraft.client.Minecraft.run(SourceFile:596)
at java.lang.Thread.run(Unknown Source)
Obviamente, estos no son los nombres reales de paquetes y métodos que el desarrollador usa cuando escribe. Dado que se encuentra en una etapa alfa, parece que al desarrollador le gustaría poder darle sentido a las huellas de su pila, especialmente si alguien puede proporcionar una para un informe de error. Tal como está, en su mayoría carece de significado.
¿Qué ventaja podría esperar obtener al ofuscar su código como este que supera los inconvenientes de una identificación de errores más difícil?