Automating Linux post-mortem debugging
1University of Oulu, Faculty of Information Technology and Electrical Engineering, Department of Information Processing Science, Information Processing Science
|Online Access:||PDF Full Text (PDF, 1.3 MB)|
|Persistent link:|| http://urn.fi/URN:NBN:fi:oulu-201806022428
|Publish Date:|| 2018-06-04
|Thesis type:||Master's thesis
Post-mortem debugging is often the last bastion of debugging solutions. It involves analyzing a raw memory dump of either a portion of memory or the whole memory of the system at an instance of time, much like a photograph. In order to able to read such a memory dump, you have to have knowledge about how the system was built and implemented. Some systems, especially embedded ones, are the ones that can benefit the most from it, due to other solutions being impractical or simply unavailable. The process of post-mortem debugging is cumbersome, as it requires a lot of file operations in order to be executed. The automation of post-mortem debugging can potentially increase its effectiveness greatly.
This research was conducted at a large-scale Finnish telecommunications company, which uses embedded Linux devices in its products. The objective of this research was to provide a solution for automating Linux post-mortem debugging, which is better than the current solutions and workings available in the case company. The research method used is the acclaimed design-science research.
The research justifies its approach by looking at related work exploring the benefits of automated debugging in general. It also looks at common trends and pitfalls when dealing with highly complex specialized embedded processing environments. The design science artifact, created by this research, was made by combining the justification from the related work, combined with the requirements and processes of the case company environment. The evaluation of the research, both quantitative and qualitative, explores its benefits and drawbacks from multiple points of view.
Overall, the implementation of the design science artifact, created by this research, was a success. Its time-saving capabilities were clearly demonstrated, as well as its potential use as a learning tool for new hires and non-technical staff. The main drawback identified was the need of constant maintenance, which is common for applications with great variability in their environment.
© Aleksandar Nedelchev, 2018. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.