Sign in Join
Wiki copytemporary

PPUDump: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: PPUDump

OldNewLine
1+From [FreePascal User's Manual](ftp://ftp.freepascal.org/pub/fpc/docs-pdf/user.pdf):
2+
3+ppudump is a program, which shows the contents of a Free Pascal unit. It is distributed with the compiler. You can just issue the following command
4+
5+` ppudump [options] foo.ppu`
6+
7+to display the contents of the foo.ppu unit. You can specify multiple files on the command line.
8+
9+The options can be used to change the verbosity of the display. By default, all available information is displayed. You can set the verbosity level using the -Vxxx option. Here, xxx is a combination of the following letters:
10+
11+h: show header info.
12+
13+i: show interface information.
14+
15+m: show implementation information.
16+
17+d: show only (interface) definitions.
18+
19+s: show only (interface) symbols.
20+
21+b: show browser info.
22+
23+a: show everything (default if no -V option is present).
24+
25+# example output
26+
27+ppudump unit1.ppu
28+
29+ PPU-Analyser Version 3.1.1
30+ Copyright (c) 1998-2013 by the Free Pascal Development Team
31+
32+ Analyzing unit1.ppu (v195)
33+
34+ Header
35+ -------
36+ Compiler version : 3.1.1
37+ Target processor : x86_64
38+ Target operating system : Linux-x86-64
39+ Unit flags : init, static_linked, little_endian, has_debug_info, dwarf_debug_info, local_symtable
40+ FileSize (w/o header) : 97855
41+ Checksum : 52269C9E
42+ Interface Checksum : 8B95EA98
43+ Indirect Checksum : DA0A4D1C
44+ Definitions stored : 312
45+ Symbols stored : 960
46+
47+ Interface section
48+ ------------------
49+ Module Name: Unit1
50+
51+ Source file 1 : unit1.pas 2017/10/19 12:04:48
52+ Source file 2 : unit1.lrs 2017/10/19 11:26:00
53+ Uses unit: System (Crc: 0071642B, IntfcCrc: 675CDF65, IndCrc: 3EF9017F)
54+ Uses unit: objpas (Crc: 0C0DE648, IntfcCrc: 8F0C59F0, IndCrc: 09D16E16)
55+ Uses unit: Classes (Crc: 2BD4311F, IntfcCrc: FEC1B15D, IndCrc: A2A74441)
56+ Uses unit: sysutils (Crc: 673DB7A8, IntfcCrc: FB3278AD, IndCrc: 029F2F57)
57+ Uses unit: FileUtil (Crc: DDDF8F2E, IntfcCrc: 91946678, IndCrc: 773AB234)
58+ Uses unit: LResources (Crc: B1B5CBCA, IntfcCrc: BD6404C3, IndCrc: 07FAEA28)
59+ Uses unit: Forms (Crc: 7BD93F9B, IntfcCrc: 4CED5DD1, IndCrc: 5876762D)
60+ Uses unit: Controls (Crc: B19F0092, IntfcCrc: 748FCEC1, IndCrc: 7E2DABAF)
61+ Uses unit: Graphics (Crc: 047DF96C, IntfcCrc: 7F769B7A, IndCrc: 25206CE8)
62+ Uses unit: Dialogs (Crc: F3CCBFDB, IntfcCrc: BA984012, IndCrc: 64641653)
63+ Uses unit: StdCtrls (Crc: C7C6F1A3, IntfcCrc: 320098AF, IndCrc: D6382504)
64+ Uses unit: uCmdBox (Crc: 63BFCCE9, IntfcCrc: FA038A54, IndCrc: 7A21D263)
65+ Uses unit: GifAnim (Crc: 75FA8DA5, IntfcCrc: EB25FB6B, IndCrc: 65C55C81)
66+ Link unit object file: unit1.o (static )
67+ DerefMapsize: 15
68+ DerefMap[0] = SYSTEM
69+ DerefMap[1] = FORMS
70+ DerefMap[2] = CONTROLS
71+ DerefMap[3] = CLASSES
72+ DerefMap[4] = STDCTRLS
73+ DerefMap[5] = LCLCLASSES
74+ DerefMap[6] = WSLCLCLASSES
75+ DerefMap[7] = TYPES
76+ DerefMap[8] = LCLTYPE
77+ DerefMap[9] = LMESSAGES
78+ DerefMap[10] = GRAPHTYPE
79+ DerefMap[11] = MENUS
80+ DerefMap[12] = GRAPHICS
81+ DerefMap[13] = OBJPAS
82+ DerefMap[14] = LRESOURCES
83+ Derefdata length: 18605
84+
85+ Interface symtable
86+ ----------------------
87+ Symtable options: none
88+
89+ Interface definitions
90+ ----------------------
91+ ** Definition Id 0 **
92+ Object/Class definition
93+ Type symbol : (0) SymId 2
94+ DefOptions :
95+ DefStates : VMT Written, RTTITable Used, InitTable Used, RTTITable Written, InitTable Written, Dwarf DbgInfo Written
96+ Name of Class : TForm1
97+ Import lib/pkg :
98+ Options : HasVirtual, HasPrivate, HasProtected, HasConstructor, HasDestructor, HasVMT, CanHavePublished
99+ Type : class
100+ Helper Type : none
101+ External name :
102+ DataSize : 1904
103+ PaddingSize : 0
104+ FieldAlign : 0
105+ RecordAlign : 8
106+ RecordAlignMin : 0
107+ VmtField : (8) Unit 0, SymId 4244
108+ Ancestor Class : (17) Unit 1, DefId 1093
109+ Abstract methods : 0
110+ VMT entries: 307
111+ (129) Unit 1, DefId 864
112+ Visibility: public
113+ (138) Unit 5, DefId 10
114+ Visibility: public
115+ (147) Unit 0, DefId 749
116+ Visibility: public
117+ (156) Unit 3, DefId 1586
118+ Visibility: public
119+ ----
120+
121+... lots of info
122+
123+---
124+*From the Free Pascal wiki, page "PPUDump", as it stood on 2019-08-28 after a change by Polluks, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
125+Category: FPC

Back to history