knossos
knossos copied to clipboard
Verbose crash-info dump
- Log apart, hold a much more verbose crash-info collector in memory (not hard drive), that would essentially log everything - placing nodes, deleting segments, annotating volume, etc. There is no reason for this log to exceed several megabytes per knossos session. Needless to say, the format would be binary coding of the information - not text.
- Install an exception handler (not "try-catch", a real CPU exception handler) routine that would catch exceptions (e.g. segmentation faults) before they crash knossos. Upon exception, take a screen shot and a memory mini-dump, and write together with the crash-info collector into a knossos dump file.
- To avoid relying on features that may already be broken upon exception, this collector should be implemented as a straight-forward one big chunk of virtual memory (to be reallocated as needed) pointed by a global in knossos, and only Native API should be used for dumping. No Qt, no std, no heap. I know how to do it in Windows, for starters that would suffice most users. For the actual collection during run-time, normal code can be used.
I don’t think it’s worth the hassle.
It depends on how many users we have complaining about crashes. I predict this number to be much bigger as knossos features are used, compared with the conservative node-placing standard that prevailed so far. Especially given that plugins would now enable a much more flexible usage.
Unless the point being - we already have the information we need to resolve bugs that lead to crashes. I believe this isn't the case.