DebuggableAttribute.DebuggingModes Enumeração

Definição

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

Esta enumeração suporta uma combinação bit-a-bit dos respetivos valores 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

Name Valor Description
None 0

A partir da versão 2.0 do .NET Framework, a informação de rastreio JIT é sempre gerada, e esta flag tem o mesmo efeito que Default, exceto que define a propriedade IsJITTrackingEnabled para false. No entanto, como o rastreamento JIT está sempre ativado, o valor da propriedade é ignorado na versão 2.0 ou posterior.

Note-se que, ao contrário da DisableOptimizations flag, a None flag não pode ser usada para desativar otimizações JIT.

Default 1

Instrui o compilador just-in-time (JIT) a usar o seu comportamento padrão, que inclui ativar otimizações, desativar o suporte para Editar e Continuar, e usar pontos de sequência de armazenamento de símbolos, caso estejam presentes. A partir do .NET Framework versão 2.0, a informação de rastreamento JIT, a linguagem intermédia Microsoft (MSIL) deslocada para o deslocamento de código nativo dentro de um método, é sempre gerada.

IgnoreSymbolStoreSequencePoints 2

Use os pontos implícitos de sequência MSIL, não os pontos de sequência da base de dados de programas (PDB). A informação simbólica normalmente inclui pelo menos um deslocamento Microsoft intermediate language (MSIL) para cada linha de origem. Quando o compilador just-in-time (JIT) está prestes a compilar um método, pede aos serviços de perfilagem uma lista de deslocamentos MSIL que devem ser preservados. Estes deslocamentos MSIL são chamados pontos de sequência.

EnableEditAndContinue 4

Ativar a edição e continuar. Editar e continuar permite-te fazer alterações ao teu código-fonte enquanto o programa está em modo de pausa. A capacidade de editar e continuar depende do compilador.

DisableOptimizations 256

Desative as otimizações realizadas pelo compilador para tornar o seu ficheiro de saída mais pequeno, rápido e eficiente. As otimizações resultam numa reorganização do código no ficheiro de saída, o que pode dificultar a depuração. Normalmente, a otimização deve estar desativada durante a depuração. Nas versões 2.0 ou posteriores, combine este valor com Default (Default | DisableOptimizations) para ativar o rastreamento JIT e desativar otimizações.

Observações

A DebuggableAttribute.DebuggingModes enumeração especifica como o tempo de execução deve acompanhar informações importantes para o depurador durante a geração de código. Esta informação ajuda o depurador a proporcionar uma experiência de depuração enriquecida. Ao contrário do .NET Framework versão 1.1, as versões 2.0 ou posteriores não permitem desligar o rastreamento pelo compilador just-in-time (JIT). O rastreamento JIT está sempre ativado para ficheiros depuráveis. Na versão 2.0 e posteriores, os valores de enumeração têm o seguinte efeito.

Modo de depuração Result
None Tracking ativado, otimizações JIT ativadas
Predefinido Tracking ativado, otimizações JIT ativadas
DisableOptimizations Tracking ativado, otimizações JIT ativadas
Padrão | DisableOptimizations Tracking ativado, otimizações JIT desativadas

Os pontos de sequência são usados para indicar locais no código da linguagem intermédia Microsoft (MSIL) que o utilizador do depurador espera poder consultar de forma única, como para definir um ponto de interrupção. O compilador JIT garante que não compila o MSIL em dois pontos de sequência diferentes numa única instrução nativa. Por defeito, o compilador JIT examina o armazenamento de símbolos no ficheiro da base de dados do programa (PDB) para uma lista de pontos de sequência adicionais. No entanto, carregar o ficheiro PDB requer que o ficheiro esteja disponível e tem 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 através do uso de instruções MSILnop" . Tais compiladores devem definir a IgnoreSymbolStoreSequencePoints flag para notificar o runtime da linguagem comum para não carregar o ficheiro PDB.

Note

Esta enumeração é usada principalmente por desenvolvedores de linguagem. Geralmente, não é utilizado no desenvolvimento de aplicações. Os ambientes de desenvolvimento utilizam-se DebuggableAttribute.DebuggingModes com base em parâmetros do compilador como /debug e /optimize.

Aplica-se a