Despite all the improvements that comes with each new release, sometimes pgModeler crashes due to unexpected misbehavior. For that case the crash handler application takes part of the situation. This tool is used to generate reports that will help the developer to find and eliminate the bugs that led to the unexpected quit. The crash handler, once displayed, shows some technical details like the software's stack trace, currently available only in Linux and macOS systems, that will serve as debug information.
Additionally, the user can report the actions that possibly caused the problems and attach the last loaded model before the application aborted. Once informed all details the crash handler will generate a report file in the form
pgmodeler_[date]_[time].bug at pgModeler's temporary directory. The user can send this report file directly to the author's e-mail in order to be analyzed and the appropriate patch developed.
The limitation of the crash handler is that it'll be triggered only when pgModeler fails in such way that a crash occurs. Thinking of that situation, starting from version 0.8.0, pgModeler introduced a new dialog very similar to crash handler that can be used in runtime without the need to wait for an unexpected quit. This dialog called Bug report works in the very same way as the crash handler but it is very useful to report bugs discovered during the software usage that not necessarily led to failures or crashes. The bug report dialog is accessible through the icon located at the control toolbar in the Welcome view on main window.
These were the last explanations about the pgModeler's advanced tools and how they can deliver to the user a good balance between flexibility and productivity. As could be seen too, some of these tools were introduced in new releases which made pgModeler step up to another level of maturity turning it into a more reliable and efficient data modeling and database administration software. Said that, we conclude the chapter 6 of this manual. In the next one, we'll see some tips and tricks on how to help the user even more in the modeling process.