| SYNOPSIS |
| #include <driver_info.h> |
| |
| int dump_driver_info(int what) |
| int dump_driver_info(int what, string filename) |
| |
| DESCRIPTION |
| Dumps information specified by <what> into a file |
| specified by <filename>. If <filename> is omitted, |
| a default file name is used. The function calls |
| master->valid_write() to check that it can write |
| the files. The file in question is always written anew |
| |
| On success the efun returns 1, or 0 if an error occurred. |
| |
| <what> == DDI_OBJECTS: |
| Dumps information about all live objects. |
| Default filename is '/OBJ_DUMP', |
| valid_write() will read 'objdump' for the function. |
| |
| For every object, a line is written into the file with the |
| following information in the given order: |
| - object name |
| - size in memory, shared data counted only once |
| - size in memory if data wouldn't be shared |
| - number of references |
| - 'HB' if the object has a heartbeat, nothing if not. |
| - the name of the environment, or '--' if the object |
| has no environment |
| - in parentheses the number of execution ticks spent |
| in this object |
| - the swap status: |
| nothing if not swapped, |
| 'PROG SWAPPED' if only the program is swapped |
| 'VAR SWAPPED' if only the variables are swapped |
| 'SWAPPED' if both program and variables are swapped |
| - the time the object was created |
| |
| <what> == DDI_OBJECTS_DESTRUCTED: |
| Dumps information about all destructed objects. |
| Default filename is '/DEST_OBJ_DUMP', |
| valid_write() will read 'objdump' for the function. |
| |
| For every object, a line is written into the file with the |
| following information in the given order: |
| - object name |
| - number of references |
| - 'NEW' if the object was destructed in this execution |
| thread, nothing if it is older already. |
| |
| <what> == DDI_OPCODES: |
| Dumps usage information about the opcodes. |
| Default filename is '/OPC_DUMP', |
| valid_write() will read 'opcdump' for the function. |
| |
| <what> == DDI_MEMORY: |
| Dumps a list of all allocated memory blocks (if the allocator |
| supports this). |
| Default filename is '/MEMORY_DUMP', |
| valid_write() will read 'memdump' for the function, |
| and the new data will be appended to the end of the file. |
| |
| If the allocator doesn't support memory dumps, this call will |
| always return 0, and nothing will be written. |
| |
| This works best if the allocator is compiled with |
| MALLOC_TRACE and/or MALLOC_LPC_TRACE. |
| |
| NOTE: Make sure that this option can't be abused! |
| |
| HISTORY |
| Introduced in LDMud 3.5.0. |
| |
| SEE ALSO |
| driver_info(E), object_info(E), interactive_info(E) |