问题标签 [call-hierarchy]
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++ - 在本机 C++ 中查找直接或间接使用特定方法的所有方法
是否有任何工具可以发现 C++ 中特定方法的所有直接或间接方法使用情况。对于托管类,NDepend 执行“选择正在使用我的方法”的工作,但是我很难在本机类中做到这一点。Visual Studio 的调用层次结构可以生成这样的结果,但是它不能在我们庞大的代码库中扩展。我想要一个自动生成的报告。我想知道你们是否可以推荐一些工具。
java - 查找对象在哪个类中实例化
我正在尝试学习不必要的复杂源代码。有一个方法public void passObject(SomeObject someObject)
,我想知道是在哪个类someObject
中实例化的。问题是,当我们向上遍历调用层次结构时,分支因子非常大。例如,三个方法可以someObject
通过passObject
,这三个方法之前的三个方法可以分别传递同一个对象。
是否有一些方法可以插入passObject
,例如:
我用Eclipse
.
java - How to get all possible callers of a method in Java - like call hierarchy
Say I have a method m in a class. I'm trying to find all the methods that call m in the whole project. Similar to eclipse's call hierarchy tool, except I need it to output a list/array of Methods. I need it statically so I dont think a stack trace works. Is there any way to implement this, maybe using reflection?
I attached link to an example of Eclipse's call hierarchy tool, finding all the methods that mention the method barking() from the class Dog. (Dog.hungry() and Cat.scratching() call barking()).
java - 在 Eclipse 的调用层次结构中包含 JSP 调用
如何让 Eclipse 调用层次结构支持 JSP 文件中的调用?
我是 Eclipse 的 Call Hierarchy 功能的狂热用户,因为它可以帮助我导航和查找方法或其他实体的所有调用源。但是我发现 Call Hierarchy 列表完全忽略了项目中的 JSP 文件,这使我的编码和调试变得困难。我必须依靠文本搜索工具来查找电话,或者(大多数情况下)只是冒着完全错过电话的风险。
出于某种原因,Eclipse 中对 JSP 的支持与其 Java 源代码文件对应物相比是不标准的,并且没有改进。目前这根本不可能吗?还是我错过了什么?
java - Eclipse - “打开调用层次结构”停止在 lambda 链中搜索
这是我的示例 java 代码:
methodDepth2()
当我从 Eclipse(4.4)
打开方法的调用层次结构时,open call hierarchy
停止搜索下一个调用者:
我所期望的就像打开方法的调用层次结构,methodDepth1()
直到main
方法显示。
java - 确保一个方法的调用堆栈始终包含 Java 中的另一个方法
我在我们的 Java 项目中使用的一个通用实用程序中有一个设计问题,我想确保特定方法 A 的所有调用者都被另一个方法 B 包装。我今天编写的这段代码的一般形式是:
B正在执行的runnable可以有任意代码,并且可能多次调用A,所以我无法通过将A的调用直接添加到B中来摆脱这段代码中的runnable。另外,A是第三方代码,所以我们不能修改它。runnable 可能会通过另一个对 A 的嵌套调用再次调用 B,但是今天这种情况从未发生过,所以我现在可以忽略这种情况。
我看到几个选项:
- 声明
A() throws BlahException
并使其 B 成为该异常的唯一捕获者。这很难看,因为不应该真正抛出任何异常,但这很好,因为编译器会为我确保调用层次结构。 - 编写某种静态分析工具来确保我的这条规则。我还没有对这个案例进行太多调查,因为这听起来比其他任何事情都需要更多的工作(但也许有一个预先存在的工具可以做到这一点?)。
- 向“A 的开头”添加一个断言(实际上,此代码必须存在于 Runnble 的自定义版本中,因为我无法直接修改 A)我们正在对 B 的调用中运行。这可以使用一些额外的线程/对象本地状态或遍历调用堆栈本身,这两者都很丑陋。
还有其他我没有考虑过的选择吗?
java - Java 设计模式:强制所有超类型的调用方法
介绍:
我为数据库过滤器构建了一个类层次结构:
这样我可以PropertyFilter<String>
用于字符串和ComparableFilter<DateTime>
DateTime 对象。
棘手的部分:
我有一些过滤器查询构建器,它遵循与过滤器类相同的层次结构。查询构建器的每一方都应该只添加额外的查询。
例子:
问题/问题:
如您所见,我总是必须调用super.getQuery()
然后返回修改后的查询对象。
如果每个类只有一个这样的方法会容易得多addFiltersToQuery
:
但是我当然会用我的类层次结构覆盖这个方法。虽然如果我addFiltersToQuery
在FilterQueryBuilder
课堂上打电话,我只会得到最新的实现。
有没有办法在不使用的情况下调用所有实现super
?
r - 在 gperftools 中获取 R 包的调用层次结构
我可以使用 gperftools 来生成调用图,例如这个问题。
现在我想bind_rows()
在dplyr
R 包中获取一个调用图,以便追踪这个错误。
我编译了两者R
并dplyr
使用CPP/CXXFLAGS=-g -fvar-tracking-assignments
and LDFLAGS=-lprofiler -lunwind
。
当我运行以下命令时:
我得到的是:
如何获取调用层次结构,以便知道dplyr
绑定行文件中的哪个调用是瓶颈?
编辑:似乎该--focus
选项是我在这里需要的。但是如何将它连接到RecursiveRelease
?
编辑:用 重新编译 Rcpp 并-g
与 链接后-lprofiler
,我可以得到以下信息: flame.svg,其中 8% 获得了良好的堆栈跟踪,但大部分仍然没有。-lprofiler
这可能是因为某些库是在没有支持加载的
eclipse - 从某个函数调用层次结构
背景:
在 Eclipse 中工作,我有两个功能:do_something和perform_task。我知道do_something调用了许多其他函数,这些函数又调用了其他函数(等等),并且perform_task也被调用了。
由于这是一个大项目,有很多流程等等,我已经找到了两个不同的序列,其中do_something通过其他一些函数序列激活perform_task 。
实际问题:
eclipse中有没有办法获取某个函数的调用层次结构,但只有序列中还包含某个其他函数的序列?
从图路径的角度考虑这一点,我们有一个有向图,而不是询问节点的路径是x
什么,我想知道x
包含节点的节点的路径是什么y
。