Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!randvax!segue!jim From: jim@segue.segue.com (Jim Balter) Newsgroups: comp.unix.programmer Subject: Re: function tree trace for a.out's ? Message-ID: <7197@segue.segue.com> Date: 21 Apr 91 01:07:15 GMT References: <1991Apr8.115049.5485@ohm.york.ac.uk> <1991Apr19.150727.17125@ghost.unimi.it> Reply-To: jim@segue.segue.com (Jim Balter) Organization: Segue Software, Inc. - Santa Monica, CA. +1-213-453-2161 Lines: 15 In article <1991Apr19.150727.17125@ghost.unimi.it> matteo@ghost.unimi.it (Matteo Gelosa) writes: > NM simly maps a function name with is start address, and prints > it out, so how can you obtain a function calling tree? nm lists the symbol table, which may contain functions called and variables used, line numbers, struct and enum definitions, and much more, depending upon how the module was compiled and what has or hasn't been stripped from the symbol table. On SysV systems, at least, cflow is a shell script that gathers information from several kinds of files and runs it through dag (directed acyclic graph), which prints it out. It handles .o files (as well as .[csiyl]). It does not handle executables because generally the symbol table entries for enterns are merged and the call structure is lost.