Recent

Author Topic: Call graph  (Read 4077 times)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11459
  • FPC developer.
Re: Call graph
« Reply #15 on: September 24, 2019, 09:52:46 pm »
valgrind/callgrind?

julkas

  • Guest
Re: Call graph
« Reply #16 on: September 25, 2019, 11:14:36 am »
valgrind/callgrind?
Can valgrind/callgrind generate compile time (not run time) call graph/tree ?

Thaddy

  • Hero Member
  • *****
  • Posts: 14393
  • Sensorship about opinions does not belong here.
Re: Call graph
« Reply #17 on: September 25, 2019, 11:23:33 am »
Yes. (just proof)
But there are more than enough dependency scanners.
One of which is the parser and  lexer in the compiler itself. That happens to work....And you have the code... 8-)

fcl-passrc is almost just as good...
« Last Edit: September 25, 2019, 11:32:22 am by Thaddy »
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

zamtmn

  • Hero Member
  • *****
  • Posts: 594
Re: Call graph
« Reply #18 on: September 25, 2019, 12:55:17 pm »
No, callgrind works in runtime.
I have not met static analyzers for FPC. Only for delphi, and they don't work with modern FPC

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11459
  • FPC developer.
Re: Call graph
« Reply #19 on: September 25, 2019, 03:35:05 pm »
valgrind/callgrind?
Can valgrind/callgrind generate compile time (not run time) call graph/tree ?

Not that I know, but the initial post didn't mention that constraint.  Lazarus does not really contain much source code metrics tools. Peganza is about the only choice there.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11459
  • FPC developer.
Re: Call graph
« Reply #20 on: September 25, 2019, 03:35:45 pm »
Not a graph, but in the IDE you have: "Find Identifier references" (somewhere in the menu / also in the context menu)
It can find places where a function is called.
With virtual/overriden methods it may not find all....

And or ifdefs...

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib


 

TinyPortal © 2005-2018