Teste :: enfraquecer

teste que os objetos de memória libertados foram, de fato, libertados
Baixe Agora

Teste :: enfraquecer Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Jeffrey Kegler
  • Site do editor:
  • http://search.cpan.org/~jkegl/

Teste :: enfraquecer Tag


Teste :: enfraquecer Descrição

Teste que os objetos de memória libertados foram, de fato, libertados Um vazamento de memória ocorre quando uma estrutura de dados Perl é destruída, mas alguns dos conteúdos dessa estrutura não são liberados. A memória vazada é uma sobrecarga inútil. Vazamentos podem impactar significativamente o desempenho do sistema. Eles também podem fazer com que um aplicativo seja abomado devido à falta de memória.in Perl, as referências circulares são uma causa comum de vazamentos de memória. As referências circulares são permitidas no Perl, mas as estruturas de dados que contêm referências circulares vazarão a memória, a menos que o programador tome medidas específicas para evitar vazamentos. As medidas preventivas incluem enfraquecer as referências e providenciar para quebrar o ciclo de referência pouco antes de a estrutura ser destruída. Quando estiver usando referências circulares, é fácil erressar ou implementar um esquema para evitar vazamentos de memória. Erros deste tipo foram difíceis de detectar em um teste de teste.Test :: Frense é um módulo Perl que permite a fácil detecção de dados perl fraturados. Teste :: Fraco permite que você examine os dados improvisados, até mesmo os dados que normalmente foram feitos inacessíveis.Teste :: enfraquecer libera a estrutura de teste, então parece ver se algum dos conteúdos da estrutura não foi realmente negociado. Por padrão, teste :: enfraquecer determina o conteúdo de uma estrutura de dados, examinando matrizes e hashes, seguindo as referências e seguindo as variáveis amarradas ao seu objeto subjacente. Teste :: enfraquecê-lo recursivamente para profundidade ilimitada.Teste :: enfraquecer pode lidar com referências circulares sem entrar em loops infinitos. Teste :: Frense não visitará o mesmo objeto de dados Perl duas vezes.Synopsis usar teste :: enfraquecer QW (vazamentos); Use dados :: dumper; Use matemática :: Bigint; Use matemática :: BigFloat; usar carpa; use inglês qw (-no_match_vars); meu $ good_test = sub {my $ obj1 = math :: bigint-> novo ('42 '); Meu $ obj2 = matemática :: BigFloat-> Novo ('7.11'); ; }; if (! vazamentos ($ good_test)) {Imprimir "Não há vazamentos no teste 1 \ n" ou Carpa :: Croak ("não pode imprimir para stdout: $ errno"); } else {Imprimir "Houve vazamentos de memória do teste 1! \ n" ou Carpa :: Croak ("não pode imprimir para stdout: $ errno"); } Meu $ Bad_Test = Sub {My $ Array = ; Push @ {$ array}, $ matriz; $ matriz; }; meu $ bad_destructor = sub {'sou inútil'}; Meu $ Tester = Test :: Fraken :: Vazamentos ({construtor => $ bad_test, destruidor => $ bad_destructor,}); if ($ tester) {my $ Infreed_properfs = $ tester-> não sedreed_proberefs (); Meu $ Infreed_Count = @ {$ unfreed_proberefs}; Printf "Teste 2:% d de% D Referências originais não foram libertadas \ n", $ tester-> Infreed_count (), $ tester-> probe_count () ou carpa :: croak ("não pode imprimir para stdout: $ errno") ; Imprimir "Estas são as referências de sonda aos objetos desprezíveis: \ n" ou carpa :: Croak ("não pode imprimir para stdout: $ errno"); para o meu $ ix (0 .. $ # # {$ spleDed_proberefs}) {Dados de impressão :: dumper-> dump ($ unfreed_proberefs -> ], ) ou Carpa :: Croak ( "Não é possível imprimir para stdout: $ errno"); }} Requisitos: · Perl.


Teste :: enfraquecer Software Relacionado

Cps.

Estruturas de controle de fluxo no estilo de passagem de continuação ...

145

Download