Visual Studio 2013 代码分析挂在本机代码上

Posted

技术标签:

【中文标题】Visual Studio 2013 代码分析挂在本机代码上【英文标题】:Visual Studio 2013 code analysis hangs on native code 【发布时间】:2015-11-13 03:32:46 【问题描述】:

我有一个包含三个 C++ 项目的 Visual Studio 2013 解决方案文件 - 一个是由另外两个链接的库。这三个都使用预编译的头文件。

当我运行代码分析(Build->Run Code Analysis on Solution、Analyze->Run Code Analysis on Solution、检查项目属性中的“run code analysis on build”选项等)时,代码分析开始于库项目(stdafx.cpp)中预编译头文件的.cpp,然后似乎挂起,或者无处可去。 UI 仍然响应,我可以取消构建,但是 devenv.exe 和 cl.exe 都没有使用任何你期望的 CPU 或 RAM,并且代码分析在离开后似乎没有继续进行 ~半小时。

如果我禁用预编译头文件,库项目会被构建,然后在“运行 C/C++ 的代码分析...”步骤期间会发生相同的挂起。

我之前曾对该项目进行过代码分析,但我不记得最近多久了——可能是一周。从那时起最重要的变化是将大量函数重构为模板实现。不执行代码分析时,项目构建良好。没有出现错误窗口,我找不到任何错误消息。 Visual Studio 版本为 Professional 2013 Update 4,版本号为 12.0.31101.00 Update 4。

我在互联网上四处搜索,但找不到遇到类似问题的人的任何错误报告或类似内容。

关于如何解决这个问题并让代码分析工具再次在项目中运行有什么想法吗?是否有任何我可能遗漏的日志记录机制有助于揭示正在发生的事情?

【问题讨论】:

【参考方案1】:

我也遇到过很多次。提示:

将其退出项目设置,然后手动执行CA。 在项目设置中禁用自动 CA,构建项目。重新启用并构建(而不是重新构建),看看它是否有效。 手动删除输出文件夹并正常构建(在项目设置中启用 CA)。

对我来说,在项目设置中禁用它,然后对代码进行一些更改,然后通过构建重新启用 CA - 工作!

【讨论】:

以上是关于Visual Studio 2013 代码分析挂在本机代码上的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Express for Desktop 2013 的代码分析规则集

Visual Studio 代码分析死锁

在 Visual Studio 2013 中,如何将代码分析限制为我的代码而不是引用的程序集?

Visual Studio Express 2013 中的代码协定支持

Windows 10 使用 Visual Studio Express 2015 构建程序 使用 SQL Server CE 只是挂在其他平台上

Visual Studio 性能分析