DebuggableAttribute.DebuggingModes Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- Atributos
Campos
| Nome | Valor | Description |
|---|---|---|
| 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 Observe que, ao contrário do DisableOptimizations sinalizador, o None sinalizador não pode ser usado para desabilitar otimizações JIT. |
| Default | 1 | Instrui o compilador JIT (just-in-time) a usar seu comportamento padrão, que inclui habilitar otimizações, desabilitar o suporte a Editar e Continuar e usar pontos de sequência do repositório de símbolos, se presentes. A partir do .NET Framework versão 2.0, informações de acompanhamento JIT, o deslocamento de Microsoft linguagem intermediária (MSIL) para o deslocamento de código nativo em um método é sempre gerado. |
| IgnoreSymbolStoreSequencePoints | 2 | Use os pontos de sequência de MSIL implícitos, não os pontos de sequência do banco de dados do programa (PDB). As informações simbólicas normalmente incluem pelo menos uma Microsoft deslocamento msil (linguagem intermediária) 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 MSIL que devem ser preservados. Esses deslocamentos de MSIL são chamados de pontos de sequência. |
| EnableEditAndContinue | 4 | Habilite editar e continuar. Editar e continuar permite que você faça alterações no código-fonte enquanto o programa estiver no modo de interrupção. A capacidade de editar e continuar depende do compilador. |
| DisableOptimizations | 256 | Desabilite as otimizações executadas pelo compilador para tornar o arquivo de saída menor, mais rápido e mais eficiente. As otimizações resultam em 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 posterior, combine esse valor com Default (Padrão | DisableOptimizations) para habilitar o acompanhamento JIT e desabilitar otimizações. |
Comentários
A DebuggableAttribute.DebuggingModes enumeração especifica como o runtime é para 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 controle pelo compilador JIT (just-in-time). O acompanhamento 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 |
|---|---|
| None | Acompanhamento, otimizações JIT habilitadas |
| Default | 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 (linguagem intermediária) Microsoft que um usuário do depurador espera poder fazer referência 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, o carregamento do 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 MSILnop" " . Esses compiladores devem definir o IgnoreSymbolStoreSequencePoints sinalizador para notificar o common language runtime para não carregar o arquivo PDB.
Note
Essa enumeração é usada principalmente por desenvolvedores de idiomas. Geralmente, ele não é usado no desenvolvimento de aplicativos. Os ambientes de desenvolvimento são usados DebuggableAttribute.DebuggingModes com base em parâmetros do compilador, como /debug e /optimize.