我使用 devPartner 来分析一些 C++ 代码的性能。有没有办法只分析一个特定的功能,或者从分析中删除一个特定的功能?
3 回答
您需要在 C/C++ 附加命令行选项下的项目设置中指定 /nmignore::。
函数名称可以是完整的函数名称,函数开头后跟 * 或 *some pattern * 用于包含子句。
因此 /nmignore: :main 将排除包含在任何文件中的 main /nmignore:main.cpp:myfunc将排除所有在 main.cpp 中以 myfunc 开头的函数 /nmignore:*: std::将排除所有 std::namepspace所有文件中的功能。
检测发生在编译通道 C1 和 C2 之间,因此所有函数都已从头文件内联到源文件中。请注意通配符,因为您可能会排除比您计划的更多的内容。
在某种程度上。DevPartner 为错误检测、覆盖或性能检测代码,并且可以从检测中排除某些命名空间、某些源文件甚至特定功能。甚至还有一种方法可以通过其命名空间“std”来排除 STL。没有仪器,您将无法进行分析。
防止检测发生所需的构建选项是“/nmignore”,它有许多可能的参数。我自己不使用它,所以我必须从负责编译时检测代码的人那里获取详细信息(我的专长是 BoundsChecker 的后端)。
我很幸运地在没有任何检测的情况下编译了完整的程序,然后打开检测并重新编译了一个文件。不过,那是用于泄漏检测,而不是分析。