prefast

    1熱度

    2回答

    哪個版本的VS 2010具有用於本地C++的PreFast靜態代碼分析器?我已經下載了VS 2010旗艦版試用版,希望它能包含所有功能,但無法在其中找到內置的PreFast。 我試圖鏈接VS 2010以使用WDK的PreFast設置目錄並在命令中添加「/ analyze」添加其他選項但無法獲得結果。

    1熱度

    1回答

    以下是MSDN(http://msdn.microsoft.com/en-us/library/hh916383.aspx)上給出的一個示例,該示例試圖解釋SAL註釋有助於找到常見的錯誤。 wchar_t * wmemcpy( _Out_writes_all_(count) wchar_t *dest, _In_reads_(count) const wchar_t *src, size_t

    5熱度

    1回答

    我正在爲Windows 7 32位編寫設備驅動程序。我正在使用WDK版本7600.16385.1。到目前爲止,事情進展順利,但prefast總是告訴我,我搞亂了IRQL級別。特別是當我嘗試鎖定/解鎖共享緩衝區時。 我有一個代表,像這樣的緩衝結構: typedef struct _PORT_BUFFER { WDFMEMORY mMemory; PUCHAR pucBuff;

    2熱度

    1回答

    在我公司的代碼中,我們具有用於在特定組件之間進行互操作的通用get()和set()方法。但是,如果我嘗試運行PREfast,則會因警告而淹沒,因爲PREfast沒有意識到get()方法會初始化給定的參數。 問題是,由於這些方法非常普遍,它們不會簡單地採用一個參數(我可以用_Out_或類似的標記,而是一個結構數組,它保存關於應該返回哪些數據的數據。 在代碼(大大簡化): typedef struct

    0熱度

    1回答

    我使用PREFast檢查Windows7的一些驅動程序代碼構建。的代碼 stackDeviceObject = IoAttachDeviceToDeviceStack(deviceObject, PhysicalDeviceObject); 以下行給出了警告:與對IoCreateDevice函數先前調用獲得 warning 28107: The Memory 'deviceObject' mu

    0熱度

    1回答

    我嘗試編譯一些代碼,看起來像這樣: (例子開始於38行,罰球是45) VSShader::VSShader(_In_ ICore * const pCore, _In_ const String & path, _In_opt_ const char ** ppArgs) : m_Core(pCore), m_Name(path), m_DefaultTechnique(nullptr)

    7熱度

    3回答

    有沒有什麼辦法讓PREfast的在Visual Studio 2008專業除? 我想編譯原生C++代碼。 我曾嘗試下面的東西, 下載了Windows SDK 集編譯器的斌/包括對SDK/LIB路徑。對於C/C++編譯 增加額外的選項(/分析:WX-) 我相信這些措施應設置相應的編譯器使用的PREfast做靜態分析。此設置實際上與Visual Studio 2005的工作但是它不與Visual St

    0熱度

    2回答

    我有以下示例代碼,並想知道我可以使用什麼樣的註解,以避免它們。 int Function(classA* pInput) { if (pInput == NULL) { classA::Create(pInput); } return pInput->value; } 的問題是,由於計算的PREfast只在函數不知道Create初始化指針。 我以爲