2013-03-25 18 views
7

içine birleştirme var mı Macosx platformunda kapsama testi için gcov kullanıyorum.İki gcov dosyasını bir

1. Build Settings ==> Generate Test Coverage Files == Yes 
2. Build Settings ==> Instrument Progaram Flow == Yes 
3. Build Phases ==> Link Binary with library ==> add "libprofile_rt.dylib" 

Sonra (bu istediğim budur) dosyalarını "Test.d, Test.dia, Test.gcno, Test.gcda, Test.o" Sonra ben Test.m.gcov dosyası oluşturmak için gcov-4.2 -b Test.gcno komutunu kullanın oluşturmak, ama test durumları çalıştırmak dahaki sefere: Ben kümesi tarafından xcode için yapılandırma bitirmek Yine, "Test.d, Test.dia, Test.gcno, Test.gcda, Test.o" dosyaları tekrar üretilecek ve veriler sıfırlanacaktır.

  1. var mı benim proje çok kez çalıştırmak ve sonra sonunda dosyaları oluşturabilir, böylece beni biriken bu kapsama dosyalarındaki verileri yapmak için herhangi bir yolu:

    Yani iki sorum var.

  2. # 1 umutsuzsa, merge two Test.gcno dosyalarının (iki kez 'çalışan') bir tanesine nasıl yapıldığını söyler misiniz? önceden tüm yardımlarınız için

    gcov-4.2 -help 
    Usage: gcov [OPTION]... SOURCEFILE 
    
    Print code coverage information. 
    
        -h, --help      Print this help, then exit 
        -v, --version     Print version number, then exit 
        -a, --all-blocks    Show information for every basic block 
        -b, --branch-probabilities  Include branch probabilities in output 
        -c, --branch-counts    Given counts of branches taken 
                rather than percentages 
        -n, --no-output     Do not create an output file 
        -l, --long-file-names   Use long output file names for included 
                source files 
        -f, --function-summaries  Output summaries for each function 
        -o, --object-directory DIR|FILE Search for object files in DIR or called FILE 
        -p, --preserve-paths   Preserve all pathname components 
        -u, --unconditional-branches Show unconditional branch counts too 
    
    For bug reporting instructions, please see: 
    <URL:http://developer.apple.com/bugreporter>. 
    

Teşekkür

cevap

15

gcov için olağan iş akışı Derleme ve bağlantı

  1. edilir: Aşağıda gcov komut için seçenekler, terminalde gcov deneyin kapsama alanı desteğiyle (-fprofile-arcs -ftest-coverage)
  2. Yürütülebilir dosyalarınızı, muhtemelen farklı parametreler/ayarlarla, birçok kez çalıştırın. İçki budur. Bu insan tarafından okunabilir formatta (.gcov)

Yani temelde, uygulamanın ardışık çalışır birikmiş kapsama istatistiklerinde sonuçlanacaktır içinde kapsama istatistikleri almak için .gcda dosyaları

  • çağırır gcov içindeki birikimli kullanım bilgilerini yaratacaktır. Bu birikimler .gcda dosyalarında değil, .gcov dosyalarında yer alacaktır, böylece güncellenmiş istatistikleri görmek istediğinizde gcov'u yeniden çalıştırmanız gerekir.

  • İlgili konular