我想在iPhone項目 上使用gcov,並遵循Apple的說明here,但它不起作用。iPhone:我如何使用gcov?
當我建立和去配置項目時,爲每個對象文件創建.gcda文件。 但是沒有執行的行被記錄到.gcda文件。 (CoverStory顯示所有覆蓋率爲0%)
我剛剛添加了一個簡單的類到模板項目中,如下所示。
@interface SomeClass : NSObject
- (void)func1:(BOOL)flag;
@end
@implementation SomeClass
- (void)func1:(BOOL)flag {
if (flag) {
NSLog(@"flag is YES");
}
else {
NSLog(@"flag is NO");
}
}
@end
我分配這個類,並在應用程序中調用FUNC1中:didFinishLaunchingWithOptions, 和我預期的SomeClass的覆蓋度爲顯示(50%左右)。
我使用的是OSX 10.6.4,iPhone SDK 4.0和Xcode 3.2.3。 需要更多配置?請指導。
更新2010/7/15:
我在link @tonclon嘗試這些提示給了我,但它並沒有工作。 在下面的描述是我試過的。
Cocoa應用程序由GCC 4.0編譯 在 「可可」 應用項目設置,
- 集GCC_INSTRUMENT_PROGRAM_FLOW_ARCS爲YES
- 集GCC_GENERATE_TEST_COVERAGE_FILES爲YES
- 設置的其他鏈接器標誌-lgcov
- 將C/C++編譯器版本設置爲4.0
它的工作,.gcda文件與預期的覆蓋率信息生成。 與SDK 4.0 iPhone項目,但是,我不能使用相同的配置,因爲 GCC 4.0不能在谷歌工具盒 使用自定義的gcov庫SDK 4.0(前塊)
編譯一些語法而不是在其他鏈接器標誌中設置-lgcov, 我試過custom gcov library included in google-toolbox-for-mac, 但生成的.gcda文件顯示覆蓋率爲0%。 (相同結果)
你能告訴我接下來該做什麼嗎?任何建議表示讚賞。
你是否按照這裏給出的所有提示:http:// stackoverflow。com/questions/1385568/why-doesnt-gcov-report-any-lines-being-covered-by-my-unit-tests – tonklon 2010-07-12 12:45:08
@tonclon非常感謝您提供的信息,我在鏈接中嘗試了這些提示,但它還沒有工作..我正在更新我的問題。 你能告訴我關於這個問題的更多提示嗎? – taichino 2010-07-14 15:22:37
有些無益,但不再支持gcov;我們放棄了使用它。 – 2010-08-21 04:38:13