问题标签 [cppdepend]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 使用 cppdepend 检测未受保护的代码以审计调用链中缺少的外部保护?
我正在尝试检测其调用者中不受更高级别保护子句保护的代码。我认为我可以与cppdepend非常接近,但不确定我是否可以准确地识别问题。
我有一堆代码需要锁定保护,所以我们在最里面的函数有一个断言:
请注意,这eventQueue
是 type 的静态实例EventQueue
。
我想检测调用包含该断言的函数的所有位置,并且在它们的调用者链中的某个点没有保护对象的实例。
所以,如果在调用者链中的某个点有一个表达式是可以的:
但是,如果调用在其上方IsCurrentEventGuarded
没有该保护实例的情况下发生,我们就会发现应该检测到的问题。
我可以找到使用子句创建防护(即:我们可以忽略的好方法)的上层防护方法:
理想情况下,我应该能够忽略这些方法之上和之下的所有内容。
一个更有趣的子句找到了两组方法 - 那些在Guarding Methods之下(在一个守卫和测试之间)和那些在我们想要的调用链中,不受保护的。
找到 65 个方法,它们在调用链中低于锁或更高且无人看管
ndepend - CppDepend 与 NDepend
CppDepend和NDepend都是由同一家公司开发的,并且似乎基于相同的代码库并共享一些功能。我还没有找到并排比较网站。
我在几个没有任何 c++ 代码的普通 c# 解决方案上工作,但也有除 c# 之外还包含 c++ 托管代码和 c++ 本机代码的解决方案。
如果我想要所有项目类型的完整功能集,我真的需要购买这两种工具吗?是否需要使用 CppDepend 打开我的混合解决方案和使用 NDepend 的仅 c# 解决方案?似乎 NDepend 无法分析 c++ 项目,但是当我使用 CppDepends 打开解决方案时,我在同一个解决方案中失去了我的 c# 项目的一些 NPDepend 功能。如果 NDepend 可以将 CppDepend 作为插件/扩展加载,那就太好了,但这是不可能的,对吧?
c++ - cpp依赖。问题?发行说明?社区?支持?
我发现了一个用于分析大型项目的 cppdepend工具。但正如我所见,它有一些问题。
例如,主要和关键(对我来说)是一些依赖关系,我自己在代码中看到,cppdepends 没有看到并告诉元素彼此独立。正如我所见,问题出在 C++ 代码中的模板和宏附近。
所以我试着想办法避免这个问题,也许我可以帮助 cppdepend 查看这个依赖关系。谷歌搜索对我没有帮助。我没有找到任何社区/论坛/组/博客,开发人员(包括来自 cppdepend 团队的)可以讨论此工具以找到他们问题的答案。最后的博客,问题报告可以追溯到2010 年。
此外,官方网站不包含任何发行说明、错误报告、“新功能”列表。
令人难以置信的是,所有关于如此强大的工具的参考资料,顺便说一下有文档、视频、课程等,都只出现在这样的帖子中:
“你会推荐什么工具?”
“试试 cppdepend。”
c++ - 如何查看 cppdepend 的分析流程(例如基类不应该使用派生类)
我在玩 cppdepend,
有一件事让我很烦恼:
它列出了某些违反“基类不应使用派生类”的类。但我没有找到一种方法来准确查看基类在何处以及如何使用衍生物。可以做到吗?顺便说一句,我在 Win 上使用评估版。
c - 使用 cppDepend 绘制 C 源代码的调用图
我在使用 cppDepend 工具时遇到问题。我有一个用 C 语言编写的源代码,我需要绘制它的依赖关系或调用图。cppDepend 的编译器的源代码扩展名设置为 c;cpp;cxx;cc 但是当我想在 C 中打开源代码时,文件选择框只让我选择 C++ 中的源代码。
我应该怎么办????
visual-studio - CppDepend插件崩溃Visual Studio
安装 CppDepend 插件后,我无法启动 Visual Studio( 2012 和 2013 )。
提供的一些信息窗口可能会有所帮助:
有没有办法来解决这个问题?
cppdepend - CPPDepend 检测虚函数使用情况
我对 CPPDepend 检测虚函数使用的能力有一点小问题。考虑以下场景。两个类,CParentClass 和 CChildClass,其中 CChildClass 派生自 CParentClass。CParentClass 有一个虚函数Test,CChildClass 覆盖了Test 的基类版本。
在使用方面,出于各种原因,我想做以下事情:-
这会导致 pMyChild 的 Test 函数根据需要被调用,但 CPPDepend 没有检测到这一点,并声称永远不会到达代码。如果我将“虚拟”一词添加到 CChildClass 中的测试函数头(除了已经在 CParentClass 中的那个),那么 CPPDepend 声称一切正常。
任何人都可以为我阐明这一点,因为我应该将 virtual 放在派生类函数和基类函数中感觉不对。
在派生类中使用 CDialog 析构函数可以看到类似的问题。如果派生类析构函数声明中没有 virtual,CPPDepend 会抱怨。
谢谢你提供的所有帮助。
问候
尼尔。
c++ - 我们如何检测源代码中的所有指针比较?C++
我们想从一个类类型中找到所有的指针比较。例如,我们有一个类 A 和从 A 派生的类,如 B、C 等。
所有比较,如 if (pa == pa2) 或 if (pa != pb) 都必须在我们的源代码中找到。
我知道我们可以使用 CLang 分析器来查找这些比较,但我们的源代码与 CLang 不兼容。我们正在使用 Visual Studio 2015。
请不要给出这样的解决方案;从源代码中删除 A 类,然后尝试编译它,以便从 A 类中找到它没有编译的所有用法。
有没有人找到它的解决方案?像 CppCheck(检查可能的错误)或 Visual Studio 扩展这样的工具?
编辑:
有谁知道,我怎样才能在我的代码中使用 CppDepend/CQLinq 语法找到所有比较?它也可以帮助我。CppDepend 使用 CLang,但如果它有解析错误,它会继续解析。
ndepend - CPPdepend LCOM 指标查询
我试图使用 CppDepend 获取 LCOM 指标报告。我写了以下查询
但是这个查询只为代码中的头文件提供表值。它不报告 Cpp 文件的值。
请帮忙,因为我是这样做的新手。
c++ - Cppdepend C++ linux基础
我正在尝试为 C++ 项目生成代码指标,该项目不是Visual Studio 项目,而是在 Linux 上编写的。
我尝试了Project Maker并按照除了最后一部分之外的步骤(添加源文件后,您可以指定项目属性)。我不知道该输入什么。所以,我继续进行,在开始分析时,它给出了很多铿锵声解析错误,例如
在“path/xyx.hpp”中找不到“string”文件 在“path/ii.hpp”中
找不到 fstream 文件
虽然我可以看到xyx.hpp
有一条线#include <string>