Visual Studio:如何查找所有函数调用

cou*_*que 6 visual-studio-2012

函数B有两个调用:Bla下面,但是查看调用层次结构(Cntl-K Cntl-T),然后对A:Bla和B中的每个调用'调用':Bla产生一个调用将进入A一个电话就要去B.

我正在开发一个非常大的代码库,有时我想要一个函数的所有调用,我不想为继承链中的每个函数单击"调用".所以对于下面的例子,我想'Calls to'返回两个调用,无论我是否在A:Bla或B:Bla上调用它.

using System;

class A
{
    public virtual int Bla() {
        return 65;
    }
}

class B : A
{
    public override int Bla()
    {
        return 66;
    }

    int Helper()
    {
        return this.Bla();
    }

    static void Main()
    {
        A obj = new B();
        Console.WriteLine(obj.Bla());
        Console.Read();
    }
}
Run Code Online (Sandbox Code Playgroud)

OCD*_*Dan 7

您可以使用"查找所有引用"功能,突出显示相关方法并按Ctrl + F12,或右键单击并选择"查找所有引用".

然后,这将在"查找符号结果"窗口中显示结果.

有关详细信息,请参阅此链接.http://www.blackwasp.co.uk/VSFindAllReferences.aspx

  • 查找所有引用将返回比所需更多的信息.它返回所有引用...包括函数的覆盖和父定义. (8认同)
  • 对我来说(VS 2015 中的 C++ 项目)它也返回完全不相关的虚假标识符,仅基于字符串相等,甚至注释中的字符串,包括包含路径中的框架文件。这个功能完全没用。 (3认同)

Tho*_*eod 5

在 Visual Studio 2015 中,尝试查看 | 调用层次结构,或Ctrl + Alt + K标准键盘映射。这将显示一棵包含“call to”和“Calls from”子树的树。

不幸的是,与 Eclipse CDT 不同,该调用图似乎没有索引。