- 
                Notifications
    You must be signed in to change notification settings 
- Fork 81
Debugging with GDB
        Guille Polito edited this page Oct 6, 2022 
        ·
        1 revision
      
    In the root of the repository there is a .gdbinit file that can be copied at ~/.gdbinit to get common debugging functions and shortcuts for the Pharo VM. The list of all user-defined functions can be accessed in gdb with help user-defined and documentation for a specific function with help function_name.
Printing:
| Command | Arguments | Description | 
|---|---|---|
| ptt | - | Print trampoline table | 
| pf | frame address | Print frame info | 
| pcog | cog method address | Print cog method info | 
| pcogs | - | Print all cogged methods | 
| pct | cog method type | Print all cog methods of a given type | 
| pcp | primitive index | Print all cog methods using a given primitive | 
| pcm | compiled method address | Print all cog methods of a given method | 
| pcs | selector address | Print all cog methods for a given selector | 
Locating and Disassembling
| Command | Arguments | Description | 
|---|---|---|
| whereis | address | Locates the enclosing cog method or trampoline | 
| dt | trampoline address | Disassemble the given trampoline | 
| dc | cog method address (optional length) | Disassemble the cog method (splits metadata/checks/method body) up to a given length if provided (all method otherwise) | 
| dnc | cog method address (optional length) | Disassemble the cog method (starting at the method body) up to a given length if provided (all method otherwise) | 
- Compiling and repo organization
- Participate!
- Misc