StripSymbols usa true como padrão
Quando o .NET 7 introduziu a Implantação de AOT nativo, também introduziu a propriedade StripSymbols
que, opcionalmente, permite que os símbolos de depuração sejam removidos do executável produzido no Linux para um arquivo separado. O valor padrão da propriedade era false
. Começando no .NET 8, o valor padrão foi alterado para true
.
Comportamento anterior
Com PublishAOT
, os símbolos de depuração no Linux foram colocados no executável produzido por padrão, com uma opção de aceitação para colocá-los em um arquivo .dbg separado.
Novo comportamento
Com PublishAOT
, os símbolos de depuração no Linux são colocados em um arquivo .dbg por padrão, com uma opção de recusa para colocá-los no executável.
Versão introduzida
.NET 8 versão prévia 4
Motivo da alteração
Com base nos comentários, determinamos que os usuários do .NET preferem a convenção de símbolos do .NET em vez da convenção nativa da plataforma. No entanto, a opção de remover os símbolos não era detectável o suficiente.
Ação recomendada
- Se você depende da presença de símbolos de depuração no executável principal, adicione
<StripSymbols>false</StripSymbols>
ao arquivo de projeto para restaurar o comportamento anterior. - Se optar por usar o novo padrão, verifique se os símbolos de depuração nos arquivos .dbg estão arquivados corretamente se você acredita que precisará depurar os executáveis gerados.
APIs afetadas
Nenhum.