PPUDump: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: PPUDump
| Old | New | Line | |
|---|---|---|---|
| 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 |
