Parasoft C/C++test 常見(jiàn)問(wèn)題整理大全(三)
Parasoft C/C++test幫助團(tuán)隊(duì)寫出更好的代碼,實(shí)施更有效的測(cè)試,以及持續(xù)地監(jiān)視以實(shí)現(xiàn)質(zhì)量目標(biāo)。 C / C ++test可以進(jìn)行靜態(tài)分析,全面代碼審查,運(yùn)行時(shí)錯(cuò)誤檢測(cè),并在單元測(cè)試和組件測(cè)試中集成覆蓋率分析。這些能夠在開發(fā)周期的開始階段,在開發(fā)桌面上自動(dòng)完成。
一、C/C++測(cè)試無(wú)法啟動(dòng)。
在啟動(dòng)CppTest時(shí),經(jīng)常會(huì)掛起并且無(wú)法啟動(dòng)。在加載一些svn或mylyn相關(guān)插件時(shí)加載過(guò)程停止。只有卸載并重新安裝該軟件才能再次使用。
在這種情況下首先要搞清楚:
- 主機(jī)是Windows還是Linux
- 正在運(yùn)行的C/C++ Test的確切版本(Help menu →About... →Press C/C++ Test gear icon 就可以查看到)
- 是獨(dú)立的C/C++測(cè)試還是Eclipse插件
上文提到的測(cè)試無(wú)法啟動(dòng)問(wèn)題很可能與Eclipse IDE中的“Deadlock on startup”bug有關(guān),它表現(xiàn)在某些Linux系統(tǒng)中多次打開一個(gè)工作區(qū)啟動(dòng)后掛起。一般情況下可以按照以下方案處理:
- 使用“-clean”選項(xiàng)啟動(dòng)C / C ++測(cè)試GUI(cpptest可執(zhí)行文件)。這應(yīng)該會(huì)從“hang”狀態(tài)恢復(fù)工作區(qū)。該過(guò)程可能需要應(yīng)用幾次。
- 將隨C / C ++測(cè)試一起提供的Eclipse Platform升級(jí)到版本4.6.2+
建議可以將方案1作為優(yōu)先選擇方案,確認(rèn)問(wèn)題后可以將方案2作為永久解決方案。
二、解決OutOfMemoryError:Java堆空間或GC開銷。
運(yùn)行基于Parasoft Test的產(chǎn)品時(shí),您可能會(huì)看到錯(cuò)誤:
- java.lang.OutOfMemoryError:Java堆空間問(wèn)題
- 在以下期間發(fā)生內(nèi)部錯(cuò)誤:”Building workspace“。超出GC開銷限制問(wèn)題
這是Java內(nèi)存不足時(shí)會(huì)發(fā)生此錯(cuò)誤。
有兩種解決辦法:
- 推薦減少軟件使用的內(nèi)存量。因?yàn)樗ǔI婕皯?yīng)用最佳實(shí)踐。
- 增加軟件可用的內(nèi)存量,如下所述。
為JVM分配更多內(nèi)存:
在某些情況下,在處理大型測(cè)試套件或復(fù)雜方案時(shí),可能需要增加分配給運(yùn)行SOAtest / LoadTest / Virtualize的JVM的默認(rèn)內(nèi)存量。
32位版本默認(rèn)使用896MB。64位版本默認(rèn)使用1792MB - 如果使用SOAtest小于9.4 則使用896MB。 要增加最大堆大小,請(qǐng)將-J-Xmx參數(shù)傳遞給可執(zhí)行文件。例如,“cpptest -J-Xmx1400m”將啟動(dòng)C / C ++測(cè)試,最大堆大小設(shè)置為1400MB。
提示:
- 可以以類似的方式配置其他JVM參數(shù)。傳遞給可執(zhí)行文件時(shí),每個(gè)JVM參數(shù)都必須以“-J”為前綴。
- 多個(gè)JVM參數(shù)可以與前綴為“-J”的每個(gè)參數(shù)一起傳遞。例如,“soatest -J-Xmx1400m -J-Xms1024m”將最大堆大小設(shè)置為1400MB,將起始堆大小設(shè)置為1024MB。
三、ERROR:無(wú)法啟動(dòng)進(jìn)程/訪問(wèn)被拒絕。
運(yùn)行C ++ Desktop時(shí),需要確保C ++ Test可以執(zhí)行編譯器。如果您沒(méi)有正確設(shè)置,您將看到如下消息:
進(jìn)程執(zhí)行期間出錯(cuò):無(wú)法啟動(dòng)進(jìn)程:“C:\ gcc”“ - IC:\ Apps \ Parasoft \ C ++ test \ 10.3 \ engine \ runtime \ include”-I。-DPARASOFT_CPPTEST -v -E -dM -ffreestanding -xc“C:\ Users \ ANDREY~1.MAD \ AppData \ Local \ Temp \ ParaSoft.25452.41.c”-o“C:\ Users \ ANDREY~1.MAD \ AppData \ Local \ Temp \ ParaSoft.25452.18467.c“ 訪問(wèn)被拒絕。
這里的問(wèn)題是C:\ gcc不存在。但是我會(huì)在哪里改變它?答案在Parasoft項(xiàng)目設(shè)置中:
-
右鍵單擊項(xiàng)目并轉(zhuǎn)到Parasoft-> C ++ Test-> Build Settings
-
然后,您將看到需要瀏覽到編譯器,或者如果編譯器可執(zhí)行文件在PATH上,則只需指定可執(zhí)行文件:
使用Cygwin環(huán)境只是一個(gè)額外的注意事項(xiàng),在Cygwin中,'gcc'和'g ++'可以是指向?qū)嶋H編譯器.exe文件的UNIX風(fēng)格的符號(hào)鏈接。但是,C ++測(cè)試必須使用常規(guī)的Windows進(jìn)程API來(lái)運(yùn)行編譯器。Windows不會(huì)理解Cygwin使用的UNIX風(fēng)格的sym-links。因此,在使用Cygwin時(shí),您應(yīng)該在Build Settings中使用編譯器的實(shí)際.exe名稱。