beacoder / call-graph Goto Github PK
View Code? Open in Web Editor NEWGenerate call graph for c/cpp functions
License: MIT License
Generate call graph for c/cpp functions
License: MIT License
Is there a way to switch back to older window? for example I look at the call hierarchy on a() and it shows b() and c(). Then I run call-graph on f() which shows me g() and h(). Great. Now I want to return to the previous output of call-graph (which shows a()'s hierarchy).
I have been using gtags in a project of mine just fine. However, when cursor is over a function and I call call-graph, the graph generated is empty: "◆ nil"
For what I understood from the readme, if I already have global database generated in the souce code then the procedure above should work. Right?
Thank you for this package. Very useful. I have been doing this kind of graph by "hand" when dealing with many nested functions.
The tool is great, very good in local environment.
But get no any output when project is in remote tramp mode.
I think it's should be relevant with file path issue, maybe need to handle "/ssh:usr@server#portnumber:" such like string in path by file-remote-p series interface, but not sure if right or how.
Could you support this tool in tramp?
It will be very versatile then.
Thanks!
In some rarely cases, the which-function returns wrong function-name.
try to reproduce and find a workaround.
您可以从
https://github.com/cquery-project/cquery/wiki/Emacs
看起
这几个 language server protocol 的 cquery 扩展没有可视化
$cquery/inheritanceHierarchy is a kind of inheritance hierarchy (base/derived classes, base/overriden methods)
$cquery/memberHierarchy is a kind of member hierarchy.
$cquery/callerTreeInitial is a kind of call hierarchy.
如果不需要树形可视化的化
$cquery/derived
$cquery/base
就靠您了
https://emacs-china.org/t/topic/5131/2 看到的。也欢迎到 https://gitter.im/cquery-project/Lobby 讨论
A::timeout -> B::dosomething ->C::timeout.
Current behavior:
[-]timeout
‘-[-]dosomething
Right behavior:
[-]timeout
‘-[-]dosomething
‘-[-]timeout
Since GNU Global does not distinguish between classes, I need to figure out some way to deal with this.
At least figure out something which is workable.
Looks like a promising package. Thanks.
A couple of comments:
global
binarycall-graph--find-references
(which ideally should be customizable as well).call-graph
worked ok, but subsequent ones showed the call graph of the first call, i.e. ignoring the function I actually invoked call-graph
for.Cheers,
Shmul
Is it possible to make a rule for macros which define functions? For example if I have a macro like:
#define DEFINE_FUNC(func_name, arg_for_g) { void func_name (arg_for_g) { g(arg_for_g); } } DEFINE_FUNC(f, "Hello")
When I call call-graph on g(), how can I make call-graph print "func_name" but not "DEFINE_FUNC"?
I understand that gtags returns DEFINE_FUNC as the caller of g, but I am sure there is a way to define a rule which will substitute DEFINE_FUNC with the first word after the "("...
Please advice how can I implement it.
Thanks :)
Is there a way to expand only one item in the graph? Like when i use + and _ but not for the whole graph but for a specific leaf?
reset a certain function's callers.
use case:
B -
|-> A
place cursor on B.
reset B's callers.
B -
|-> A
|-> C
Select function's caller based on function's signature, including
argument numbers, argument name's resemblance.
Formular: weigh1 * value1 + weigh2 * value2.
配置提示这个Symbol’s function definition is void: cg--handle-root-function,同时key map中的map无效,你能提供一个可使用的配置莫,谢谢
does max-depth should represent the depth of the deepest item in the graph? If so there is a bug:
when I specify max-depth to 13 I see a lot of items on level 9 which are yellow colored (non-expandable). When I call the graph on these items it works fine
Is there a way to undo a deleted item from the graph? When I delete an item is is never shown again (even if I close the buffer and call call-graph again on the same function)
Since currently, no caller/callee information saved for the root node of call-graph, we can't jump to the location of root function.
It seems that cquery project (https://github.com/cquery-project/cquery) has a native support for generating a call tree (just the back end, in other words it can yield the functions being called), would this be a more reliable way of generating call tree rather than using tags?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.