首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >是否有方法为Visual中的某些c++函数获取调用图?

是否有方法为Visual中的某些c++函数获取调用图?
EN

Stack Overflow用户
提问于 2013-04-24 02:51:14
回答 8查看 19.9K关注 0票数 28

我想知道是否有VS工具可以显示给定C++函数的调用图(即列出所有可能的执行路径的图表)。如果只在几个地方调用函数,这将有助于导航大型代码库。

对于像printf这样被称为oft的函数,它可以简单地说:

选择太多了..。

同样,我想制造这样的工具并不容易,所以我想知道它是否存在,但你知道,似乎可以这样做,所以你永远不知道.:)

编辑:我知道查找所有引用,但这只是函数的调用站点,而不是调用调用函数的函数的调用站点。

编辑: VS是2010年,但如果必要的话,VS2012是一个选项。

EN

回答 8

Stack Overflow用户

发布于 2013-06-27 01:52:16

你说过你知道如何找到所有的推荐信。你看过Call Hierarchy了吗?它可能不是您的“梦想方法”,但它确实允许您根据给定函数的“调用”和“调用”来查看函数。该窗口还允许您以树格式添加多个要查看的函数。因此,基本上,你会在可能的结果中向上或向下树。

右键单击所需的方法(可能在层次结构中的任何位置) => 选择“查看调用层次结构” 注意,如果可以向窗口添加多个引用点。必要时删除 您也可以使用Ctrl+K或Ctrl+T。

另一个很好的例子,IMHO,对C++和C#与VS之间的差异感到失望。我想代码映射就是你要找的。当然,假设你是和终极公司合作的--但是不是,不是和C++一起工作。

票数 20
EN

Stack Overflow用户

发布于 2013-06-27 11:16:53

据我所知,C++/MSVC中没有这样的特性。

但是,windows的AQTime分析器具有“静态分析”选项(如果我记得正确的话),可以扫描编译后的可执行文件,生成调用图,并向您展示不可实现的函数。

如果我没记错的话,AQtime集成到了visual (专业版,afaik)中。

不幸的是,这是一个价值500美元左右的商业分析器,而且这个特性在试用版中是不可用的。上一次我使用静态分析是3..4年前,我现在不太记得细节了(而且我再也不能访问AQTime了)。无论如何,它是一个专门的工具,所以我不建议购买它,除非您正在优化代码的速度24/7。

也许,通过搜索“静态分析”、“代码覆盖率”或研究其他分析器,您会发现一些类似的工具可以免费完成这项工作。

除此之外,doxygen还可以为C++代码生成调用图。在doxygen的情况下,您将不得不寻找从未被称为您自己的函数。

另外,Visual 2008有一个内置的调用者图形特性(我认为,它使用intellisense)。基本上,您可以右键单击任何函数并选择“显示调用者”(或类似的内容),这将在窗口中打开所有函数(visual studio认为正在调用您的函数)的列表。因为这个特性存在于VS2008中,所以它应该包含在VS2010中。但是,由于明显的原因(虚拟方法、回调等),它无法检测每个调用者。

票数 12
EN

Stack Overflow用户

发布于 2013-06-27 03:13:37

也许doxygen是你要找的工具。它提供了生成调用图(显示特定函数调用的所有函数)和/或调用方图(显示函数直接或间接调用的函数)的可能性。

请参阅:http://www.doxygen.nl/manual/diagrams.html

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16190058

复制
相关文章
python_文件的打开和关闭
文件对象 = open('文件名','使用方式') rt:读取一个txt文件 wt: 只写打开一个txt文件,(如果没有该文件则新建该文件)会覆盖原有内容 at:打开一个txt文件,并从文件指针位置追加写内容(文件指针默认在末尾) 文件操作错误属于:I/O异常 通常的异常:
Mirror王宇阳
2020/11/10
1.5K0
MySQL是如何打开和关闭表?
当我们在执行mysqladmin status 命令或连接通过mysql客户端连接到实例后,执行\s的时候,应该看到类似以下的内容:
SEian.G
2021/07/29
3.6K0
c语言文件介绍,打开和关闭操作
文件基本概念 文件指针 打开文件 fopen(“文件路径”,打开方式); 文件路径: 打开文件: 关闭文件 fclose(文件指针);
大忽悠爱学习
2021/03/02
1.3K0
c语言文件介绍,打开和关闭操作
vim打开多个文件、同时显示多个文件、在文件之间切换 打开多个文件:
1.vim还没有启动的时候: 在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开一个文件,并且此时vim里会显示出file文件的内容。
sunsky
2020/08/19
15.4K0
文件的打开与关闭
使用完一个文件后应该关闭它,以防止程序对文件误操作而导致出错。文件关闭是指撤销文件信息区和文件缓冲区,使文件指针变量不再指向该文件。
pigeon
2022/04/11
1.3K0
文件的打开与关闭
10.2 打开与关闭文件
例如:fopen(“a1”,“r”),表示要打开名字为“a1”的文件,使用文件方式为“读入”。
小林C语言
2019/07/12
7460
10.2 打开与关闭文件
正常的工作流程
修改文件,将它们更新的内容添加到索引中。 $ git add file1 file2 file3 你现在为commit做好了准备,你可以使用git diff命令再加上–cached参数,看看哪些文件将被提交(commit)。 (如果没有–cached参数,git diff会显示当前你所有已做的但没有加入到索引里的修改。)你也可以使用git status命令来获得当前项目的一个状况。
用户3004328
2018/09/06
7600
检测网页是否正常打开 原
import urllib.request   import time   opener = urllib.request.build_opener()   opener.addheaders = [('User-agent', 'Mozilla/49.0.2')]   #这个是你放网址的文件名,改过来就可以了   # file = open('test.txt')   # lines = file.readlines()   aa=['http://www.jd.com/','http
双面人
2019/04/10
1.5K0
Bootstrap 基于Bootstrap和JQuery实现动态打开和关闭tab页
$("#tab-a-" + options.menuID).click(); // 选中打开的tab
授客
2019/08/21
7.9K1
tomcat无法正常关闭问题分析及解决
这时我们就只能通过强制杀死进程的方式停止Tomcat了:kill -9 <tomcat_process_id>。 那么,为什么使用shutdown.sh无法正常停止Tomcat进程呢?
编程随笔
2019/09/11
2.3K0
tomcat无法正常关闭问题分析及解决
C语言 | 文件打开关闭
这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。
小林C语言
2021/05/28
1.3K0
C语言 | 文件打开关闭
C语言 | 文件打开关闭
用“r”方式打开的文件只能用于向计算机输入而不能用作向该文件输出数据,而且该文件应该已经存在,并存有数据,这样程序才能从文件中读数据。
小林C语言
2021/05/13
1.6K0
C语言 | 文件打开关闭
Apache编译后无法正常工作
因为某个场景的需求,要在一个国产系统Rocky4.2(国产凝思4.2操作系统)上安装Apache,虽说此系统是基于Redhat 5.8开发的,但是发现yum安装源包管理,RPM命令倒是能用,但是底层依赖完全没有,这就尴尬了,so,只能源码编译安装了。
后场技术
2020/09/03
2.8K0
Kubernetes 终止信号:确保应用程序正常关闭
在容器编排领域,Kubernetes 已成为领先的平台,可实现容器化应用程序的高效管理、扩展和部署。当应用程序在容器内运行时,正确终止这些容器对于维持系统的整体健康和可靠性至关重要。在本文中,我们将深入研究 Kubernetes 终止信号的概念,并了解它们如何确保应用程序正常关闭,避免数据丢失或用户体验中断。
DevOps云学堂
2023/09/11
6330
Kubernetes 终止信号:确保应用程序正常关闭
10.2 C语言打开与关闭文件
例如:fopen(“a1”,“r”),表示要打开名字为“a1”的文件,使用文件方式为“读入”。
小林C语言
2020/12/08
1.4K0
10.2 C语言打开与关闭文件
完美解决Hadoop集群无法正常关闭的问题!
相信对于大部分的大数据初学者来说,一定遇见过hadoop集群无法正常关闭的情况。有时候当我们更改了hadoop内组件的配置文件后,必须要通过重启集群来使配置文件生效。 但往往一stop-all.sh,集群下方总会出现下面的提示:
大数据梦想家
2021/01/27
1.9K0
完美解决Hadoop集群无法正常关闭的问题!
VSC不能同时打开多个文件
通过ctrl+shift+p 获取查找框,查询 settings.json 新增或修改: { // 控制通过 Quick Open 打开的编辑器是否显示为预览编辑器。预览编辑器不会保持打开状态,在将其显式设置为保持打开(例如通过双击或编辑)前将会重复使用。当 "#workbench.editor.enablePreview#" 处于禁用状态时,将忽略此值。 "workbench.editor.enablePreviewFromQuickOpen": false, "workbench.editor.en
手撕代码八百里
2022/05/10
1.7K0
页面打开时div从右侧进入 原
页面未加载时,用transform:translateX(100%);把div定位到右边隐藏,当页面加载的时候,增加in class,
tianyawhl
2019/04/04
1.1K0
IntelliJ IDEA同时打开多个窗口
1、点击File->Settings 2、点击open new project in new window选项 3、点击Apply即可
别团等shy哥发育
2023/02/25
6.6K0
IntelliJ IDEA同时打开多个窗口
点击加载更多

相似问题

切换jQuery div以打开和关闭不能正常工作的

20

每页多个图库-几乎可以正常工作

10

Imageshack API几乎正常工作

12

JQuery -多个div独立打开/关闭

36

actionscript打开/关闭声音不能正常工作

17
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文