edb
edb copied to clipboard
Add crash dumps
In the course of developing EDB so far I have encounters a number of bugs, these are often only reproducible after following a very specific set of steps and a specific ELF file. It would be very hard for users to communicate a clear list of steps to reproduce the issue, therefor I want to add a "crash dump" system which will record all information that might be necessary to reproduce bugs.
The primary use case for such dumps would be to present them to the user when we recover from a panic with the request to upload them or send them privately. Additionally, calling the dump
command should output the path to the dump file/folder to the user so they can send dumps of subtle bugs.
With this addition, I would also like to add a logging framework like you would use on a server application, its output would be part of the crash dump so we can add debug messages and data which can be used to see if we hit certain code paths.
These dumps should include the following elements:
- A history of all commands (together with the output in ASCIIcast format?)
- The output created by EDB
- The contents of ELF and CTX files loaded
- Source code referenced by the ELF file
- The contents of the debug log
- The version/commit information of the
EDB
version - Any error message / panic
- ? Core dump (dump the processes memory so we can inspect it with delve)
This would have some serious implications since we will be capturing potentially sensitive information, which in itself isn't an issue, but we have to communicate this very clearly before asking people for the dumps. We should clearly outline what is in them (for example by including a readme in the dump dir) so it is an informed decision to send source code publicly or privately.