原創|使用教程|編輯:張莉|2025-09-23 11:34:19.953|閱讀 42 次
概述:在使用Parasoft C/C++test進行靜態代碼分析時,可能會遇到工具未實際檢查任何文件的狀況。該問題通常與構建配置或文件包含范圍相關。基于常見應用場景,系統梳理了五種可能導致此問題的原因及其解決方案,幫助開發團隊快速定位和解決此類問題,確保代碼質量檢測工作的順利開展。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在使用Parasoft C/C++test進行靜態代碼分析時,可能會遇到工具未實際檢查任何文件的狀況。該問題通常與構建配置或文件包含范圍相關。基于常見應用場景,系統梳理了五種可能導致此問題的原因及其解決方案,幫助開發團隊快速定位和解決此類問題,確保代碼質量檢測工作的順利開展。
第一種情況
可以先看控制臺的輸出,如果有如下輸出:
	
 
那么考慮構建選項的問題。一般來說,這種輸出代表C/C++test沒有構建選項。很可能是創建項目這邊出現了問題。
第二種情況
如果沒有以上說的控制臺的輸出,那么可以去查看BDF的內容是否正常,也就是包含構建信息。如果不清楚是否正常,一個簡單的方式是可以查看BDF中是否有項目中參與編譯的.c或者.cpp文件。
比較典型的,IAR 8.x版本項目,如果沒有在生成BDF的時候加上 --cpptesttraceResponseFileOption=-f ,那么生成的BDF是有問題的:
	 
 
解決辦法要看什么原因造成的BDF不正常。
第三種情況
如果BDF看起來是正常的,但是靜態分析還是沒有檢查文件。這個時候需要考慮選中運行靜態分析的文件是否參與了構建。
比較典型的,示例項目ATM中參與構建的只有四個.cpp文件,TestObjectFactory.cxx沒有參與構建,如果只選擇這個文件運行測試,就會出現這種報錯:
	 
 
除此之外,BDF中不會記錄頭文件,所以如果要測頭文件,需要選中頭文件以及包含了這個頭文件的源文件一起測試。
第四種情況
如果BDF看起來是正常的,使用命令行選中測試的是整個項目,但是添加了-include或者-exclude參數,那么可以考慮刪除這些參數運行,查看是否是這些參數的干擾。
一般來說,如果是屬于這種情況,那么在導入項目之后,控制臺可能會出現類似“發現以下文件的構建選項”這種語句:
	 
 
第五種情況
出現第四種情況的截圖,如果沒有設置限定范圍的語句,那么還有可能是參與本次編譯的文件并沒有成功導入進來。如果有界面的話,可以查看參與編譯的文件是否導入進來了。
解決辦法:界面的話,可以選中項目,右擊找到新建->文件夾:
	 
 
選擇高級->鏈接到其他位置(鏈接文件夾):
	 
 
然后把缺少的文件的目錄鏈接進來就可以了。
如果是命令行,可以在運行cpptestcli的時候,加上參數-property bdf.import.location=xxx,這里的值可以考慮設置為要測文件的目錄,或者要測文件們的共同目錄。
或者也可以考慮在-settings參數后面的.properties文件中加上bdf.import.location=xxx。
通過以上五種情況的排查與處理,可系統性地解決C/C++test未檢查文件的問題,確保靜態分析的正常執行,Parasoft C/C++test作為專業的代碼質量保障工具,其強大的靜態分析和單元測試功能能夠顯著提升嵌入式軟件的可靠性和安全性,為符合功能安全標準(如 ISO 26262)提供有力支持。
關于慧都
慧都是一家行業數字化解決方案公司,專注于軟件、石油與工業領域,以深入的業務理解和行業經驗,幫助企業實現智能化轉型與持續競爭優勢。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控。
慧都科技作為Parasoft公司在中國區的官方授權合作伙伴,為國內企業提供Parasoft C/C++test產品的正版授權、定制化部署與全生命周期技術支持與服務。我們致力于助力客戶精準貫徹功能安全標準、全面提升軟件開發效率、有效管控項目風險,最終構建符合國際標準的高質量軟件體系。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn