Include a back trace in problem report technical details.

This adds a dependcy on libunwind for generating the back trace.

* src/CMakeLists.txt: Require libunwind-generic package and libunwind
  VAPI. Update docs and debian/control with new dependencies.

* src/engine/api/geary-problem-report.vala (ProblemReport): Generate a
  stack trace in the default constructor if an error is specified.

* src/client/components/main-window-info-bar.vala
  (MainWindowInfoBar::format_details): Include stack trafe from problem
  report in output if present.

* ui/main-window-info-bar.ui: Add a ScrolledWindow around the TextView
  since the details could now be quite large.

* bindings/vapi/libunwind.vapi: Add bindings for libunwind courtesy
  Guillaume Poirier-Morency, add Error enum.
This commit is contained in:
Michael James Gratton 2017-11-18 15:25:28 +11:00
parent 0d1efc2fe0
commit bcca75f5a8
7 changed files with 150 additions and 17 deletions

View file

@ -46,6 +46,7 @@
* webkit2gtk-4.0
* gcr-3
* enchant
* libunwind
* messaging-menu (optional; enables support for Ubuntu Unity
messaging menu)
* unity (optional; enables support for Ubuntu Unity launcher)
@ -67,7 +68,7 @@
desktop-file-utils gnome-doc-utils libcanberra-devel libgee-devel \
glib2-devel gmime-devel gtk3-devel libnotify-devel sqlite-devel \
webkitgtk4-devel libsecret-devel libxml2-devel vala-tools \
gcr-devel enchant-devel
gcr-devel enchant-devel libunwind-devel
* Installing dependencies on Ubuntu/Debian
@ -86,7 +87,8 @@
cmake desktop-file-utils gnome-doc-utils libcanberra-dev \
libgee-0.8-dev libglib2.0-dev libgmime-2.6-dev libgtk-3-dev \
libsecret-1-dev libxml2-dev libnotify-dev libsqlite3-dev \
libwebkit2gtk-4.0-dev libgcr-3-dev libenchant-dev
libwebkit2gtk-4.0-dev libgcr-3-dev libenchant-dev \
libunwind-dev
And for Ubuntu Unity integration: