Compartilhar via


DebuggableAttribute.DebuggingModes Enumeração

Definição

Especifica o modo de depuração para o compilador JIT (just-in-time).

Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.

public: enum class DebuggableAttribute::DebuggingModes
[System.Flags]
public enum DebuggableAttribute.DebuggingModes
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
public enum DebuggableAttribute.DebuggingModes
[<System.Flags>]
type DebuggableAttribute.DebuggingModes = 
[<System.Flags>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type DebuggableAttribute.DebuggingModes = 
Public Enum DebuggableAttribute.DebuggingModes
Herança
DebuggableAttribute.DebuggingModes
Atributos

Campos

Default 1

Instrui o compilador JIT (just-in-time) a usar seu comportamento padrão, que inclui habilitar as otimizações, desabilitar o suporte a Editar e Continuar e usar os pontos de sequência do repositório de símbolos se estiver presente. A partir do .NET Framework versão 2.0, as informações de acompanhamento JIT, o deslocamento do MSIL (Microsoft Intermediate Language) para o deslocamento de código nativo em um método, são sempre gerados.

DisableOptimizations 256

Desabilita as otimizações executadas pelo compilador para tornar o arquivo de saída menor, mais rápido e mais eficiente. As otimizações resultam na reorganização de código no arquivo de saída, o que pode dificultar a depuração. Normalmente, a otimização deve ser desabilitada durante a depuração. Nas versões 2.0 ou posteriores, combine esse valor com Default (Default | DisableOptimizations) para habilitar o acompanhamento JIT e desabilitar as otimizações.

EnableEditAndContinue 4

Habilita o recurso Editar e continuar. O recurso Editar e continuar permite que você faça alterações em seu código-fonte enquanto o programa está no modo de interrupção. A capacidade de editar e continuar depende do compilador.

IgnoreSymbolStoreSequencePoints 2

Use os pontos de sequência de MSIL implícitos, não os pontos de sequência de PDB (banco de dados do programa). As informações simbólicas normalmente incluem pelo menos um deslocamento do MSIL (Microsoft Intermediate Language) para cada linha de origem. Quando o compilador JIT (just-in-time) está prestes a compilar um método, ele solicita aos serviços de criação de perfil uma lista de deslocamentos do MSIL que devem ser preservados. Esses deslocamentos do MSIL são chamados de pontos de sequência.

None 0

A partir do .NET Framework versão 2.0, as informações de acompanhamento JIT são sempre geradas e esse sinalizador tem o mesmo efeito que Default, exceto que ele define a propriedade IsJITTrackingEnabled como false. No entanto, como o acompanhamento JIT está sempre habilitado, o valor da propriedade é ignorado na versão 2.0 ou posterior.

Observe que, diferente do sinalizador DisableOptimizations, o sinalizador None não pode ser usado para desabilitar as otimizações JIT.

Comentários

A DebuggableAttribute.DebuggingModes enumeração especifica como o runtime deve acompanhar informações importantes para o depurador durante a geração de código. Essas informações ajudam o depurador a fornecer uma experiência avançada de depuração. Ao contrário do .NET Framework versão 1.1, as versões 2.0 ou posteriores não permitem desativar o acompanhamento pelo compilador JIT (Just-In-Time). O rastreamento JIT está sempre habilitado para arquivos depuráveis. Na versão 2.0 e posterior, os valores de enumeração têm o seguinte efeito.

Modo de depuração Resultado
Nenhum Acompanhamento, otimizações JIT habilitadas
Padrão Acompanhamento, otimizações JIT habilitadas
DisableOptimizations Acompanhamento, otimizações JIT habilitadas
Padrão | DisableOptimizations Acompanhamento, otimizações JIT desabilitadas

Os pontos de sequência são usados para indicar locais no código msil (microsoft intermediate language) que um usuário depurador espera ser capaz de se referir exclusivamente, como para definir um ponto de interrupção. O compilador JIT garante que ele não compile o MSIL em dois pontos de sequência diferentes em uma única instrução nativa. Por padrão, o compilador JIT examina o repositório de símbolos no arquivo de banco de dados do programa (PDB) para obter uma lista de pontos de sequência adicionais. No entanto, carregar o arquivo PDB requer que o arquivo esteja disponível e tenha um impacto negativo no desempenho. A partir da versão 2.0, os compiladores podem emitir "pontos de sequência implícitos" no fluxo de código MSIL por meio do uso de instruções MSIL "nop" . Esses compiladores devem definir o IgnoreSymbolStoreSequencePoints sinalizador para notificar o Common Language Runtime para não carregar o arquivo PDB.

Observação

Essa enumeração é usada principalmente por desenvolvedores de linguagem. Geralmente, ele não é usado no desenvolvimento de aplicativos. Os ambientes de desenvolvimento usam DebuggableAttribute.DebuggingModes com base em parâmetros do compilador, como /debug e /optimize.

Aplica-se a