|
Uso da ferramenta de descompilação ILSpy. No entanto, o ILspy exige que o .NET Framework 4.0 esteja instalado no seu computador. O ILspy pode converter um arquivo dll para C# ou linguagem VB. O ILspy pode salvar um único arquivo como arquivo .cs ou .vb, e quando há muitos arquivos, você pode escolher salvá-lo como um arquivo de projeto. Instruções C# podem ser descompiladas pelo ILspy, e podem suportar a descompilação de instruções yield return e expressões lambdas. Eu costumava usar o Reflector para visualizar algumas informações sobre a biblioteca .NET, mas desde fevereiro de 2011, o Reflector tem migrado para softwares pagos, então desenvolvedores que amam software livre passaram a desenvolver seus próprios softwares descompilados. Então o ILspy nasceu por sorte. ILSPY é uma ferramenta de código aberto que substitui refletores e descompila código de forma semelhante aos refletores. SharpDevelop é outro e único . .NET é open source. Também oferece recursos muito bons, quase reescrevendo o Visual Studio. Na versão mais recente, o suporte para arquivos de segurança da solução e de projeto do Visual Studio foi adicionado diretamente. ILSpy é uma ferramenta de descompilação do grupo SharpDevelop e também é de código aberto, e seu depurador e descompilador são descritos abaixo.
Captura de tela da interface do ILspy.
A interface do ILSpy é semelhante à do Reflector, com controles em árvore mostrando o conjunto e seu tipo à esquerda e o código-fonte correspondente à direita. A função básica de descompilação não é ruim comparada ao Reflector, e às vezes pode até ser descompilada com ILSpy para assemblies que não podem ser descompilados (por causa da criptografia) com o Reflector.
O ILspy exige que o .NET Framework 4.0 esteja instalado no seu computador.Existem vários recursos comumente usados no ILspyA função básica de descompilação de tipos está disponível Agora só é suportado a descompilação do código-fonte para linguagens C# e IL, não VB. As renderizações são:
Recurso de salvamento de código do ILSpy Ao clicar em um tipo, selecionar File-> Save Code descompila o tipo atual e o salva no arquivo especificado, e ao selecionar um assembly, Save Code é salvo como um arquivo de projeto (csproj) e todos os seus tipos são adicionados ao projeto.
Recurso depurador do ILSpy O depurador aqui não se refere ao Visual Studiofontenível de depurador, mas refere-se ao depurador do monte. O Reflector possui um addin que pode ser anexado diretamente ao Visual Studio para depurar bibliotecas de tipos de terceiros sem precisar descompilar as bibliotecas de tipos de terceiros e adicioná-las ao projeto na forma de código-fonte. O ILSpy também possui esse recurso, que permite depurar assemblies de terceiros diretamente, com duas opções Se a biblioteca de tipos de terceiros for um executável, você pode iniciar o programa com Depurar um executável. Se a biblioteca de tipos de terceiros for um assembly (DLL), você pode anexá-la com um Attach to application em execução para começar a depurar o assembly.
Como você já pode ver na imagem acima, seu uso é o mesmo que depurar código-fonte. Onde você precisa monitorar o valor da variável, definir um ponto de interrupção e, quando o programa rodar até esse ponto, você pode observar o valor da variável monitorando o formulário. A diferença entre os dois é que, quando o Attach to a uma aplicação em execução é depurado, se o código for otimizado pelo compilador, o monitor não receberá seu valor.
Como mostrado na imagem, o valor do número de variáveis depurado não pode ser exibido porque o código foi otimizado. O método oficial recomendado é Depurar um executável Assim como na depuração do código-fonte .NET no Visual Studio, você pode entrar, passar, continuar, e a barra de status mostrará standby, executando e depurando.
Além de depurar o código em C#/VB do montador, ele também pode ser depurado em código IL, como mostrado na figura abaixo
O depurador do ILSpy existe como um plugin, certifique-se de incluir o plugin ILSpy.Debugger.
Mas depuração. assemblies .NET devem exigir arquivos PDB. No entanto, o ILSpy não gera arquivos PDB (nenhum arquivo PDB é gerado), e não pode depurar ASP.NET aplicações web e serviços web.
|