Friday 8 June 2018

Clrdll could to get version info forex


Estou analisando um despejo de memória de um processo de trabalho do IIS em execução no Windows Server 2008 na minha estação de trabalho do Windows 8. O despejo é um mini despejo feito usando o gerenciador de tarefas. As versões do Framework no servidor e na estação de trabalho são diferentes: Servidor onde o despejo foi tirado: 4.0.30319.296 Copiei sos. dll e mscordacwks. dll do servidor para a minha estação de trabalho em um diretório dedicado e, em seguida, abri o despejo no WinDbg. Então eu carrego o sos. dll copiado do servidor: Isso me permite listar os tópicos usando threads ou ver pilhas usando clrstack. Mas ao usar pe ou clrstack, recebo um aviso de incompatibilidade de versão: enquanto eu podia ver as pilhas que me interessavam, estou confuso sobre a versão CLR no aviso: de onde é que esta versão vem. O despejo indica a versão 4.0.30319.1 quando eu executo Mas 4.0.30319.1 não é usado neste caso, nem no servidor nem na estação de trabalho. Ou estou faltando algo Além disso, o WinDbg carrega os arquivos de símbolos para mscordacwksAMD64AMD644.0.30319.01.dll para o meu diretório de símbolos. Saída de. cordll: Eu também tentei copiar clr. dll do servidor para minha estação de trabalho e carregar o tempo de execução usando. cordll, mas sem sucesso: Alguém pode lançar alguma luz sobre este problema de versão. É de alguma forma relacionado ao tipo de despejo usado. Tentando usar o WinDBG para analisar um despejo de uma das nossas máquinas de produção. A raiz do meu problema parece ser que eu tenho uma construção diferente da estrutura do que a máquina de produção, só que não sei como resolver o problema. Quando eu giro sym noisy e depois execute dlk (do SOSEX), recebo o seguinte erro ao tentar encontrar o mscordacwks dll. Peguei o mscorwks. dll, mscordawks. dll e sos. dll da máquina de produção e os coloquei em C: Mysymbols. Parece que o WinDBG está procurando uma DLL DENTRO da dcl mscorwks. Perguntou em 3 de fevereiro 12 às 14:05 E, basicamente, tentando cada encarnação de símbolos em movimento ao redor do que pude, achei que a única maneira de conseguir isso funcionar era copiar o mscorwks. dll, mscordawks. dll e sos. dll do Máquina de produção em C: WINDOWSMicrosoftFrameworkv2.0.50727 Parece que o WinDBG não funciona tão bem com a versão múltipla da mesma DLL. Talvez eu fiz algo errado, mas copiar as dlls diretamente para o diretório do Framework, pelo menos, me levou a funcionar. Respondeu em 3 de fevereiro 12 às 14:28. Não é por causa do WinDbg não lidar com várias versões do mscordacwks. dll, mas usa o algoritmo de design por subsele para consultá-los (como tem tantas versões de patches), qual é o estilo que você se adapta Para ativamente. Uma vez que você se acostume com esse fato, você nunca enfrentará muitos problemas no futuro. Ndash Lex Li Mar 5 12 às 6:35 Além da resposta CodeFoxs, você precisa colocar o diretório onde o mscorwks. dll (ou clr. dll se você estiver usando 4) no caminho do arquivo de imagem no WinDbg (fora do menu Arquivo ).

No comments:

Post a Comment