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