neobytes/src/qt
Alexander Block 48d92f116e Implement optional pretty printed stacktraces (#2420)
* Add libbacktrace to depends

This is currently only useful to extract symbols. It fails to gather
stacktraces when compiled with MinGW, so we can only use it to get symbol
information from a stack trace which we gathered outside of libbacktrace.

* Add -mbig-obj to CXXFLAGS for MinGW builds

* Implement stacktraces for C++ exceptions

This is a hack and should only be used for debugging. It works by wrapping
the C++ ABI __wrap___cxa_allocate_exception. The wrapper records a backtrace
and stores it in a global map. Later the stacktrace can be retrieved with
GetExceptionStacktraceStr.

This commit also adds handlers to pretty print uncaught exceptions and
signals.

* Use GetPrettyExceptionStr for all unhandled exceptions

* Use --enable-stacktraces in CI for linux32/linux64

* Register exception translators to pretty print exceptions in unit tests

* Catch and print python exceptions when stopping nodes

Otherwise the code at the bottom is never executed when nodes crash,
leading to no output of debug.log files on Travis.

* Remove now unneeded/unused TestCrash methods
2019-02-21 21:37:15 +03:00
..
forms Add checkbox to show only masternodes the wallet has keys for (#2627) 2019-01-15 15:46:02 +03:00
locale [0.13.0.x] Translations201901 (#2592) 2019-01-11 12:54:38 +03:00
res Update/optimize images (#2147) 2018-06-29 01:22:48 +03:00
test fix/cleanup qt rpcnestedtests 2019-01-21 14:42:08 +01:00
addressbookpage.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
addressbookpage.h
addresstablemodel.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
addresstablemodel.h
askpassphrasedialog.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
askpassphrasedialog.h Backport Bitcoin Qt/Gui changes up to 0.14.x part 2 (#1615) 2017-09-09 10:04:02 +03:00
bantablemodel.cpp Merge #9510: [trivial] Fix typos in comments 2018-01-21 12:48:34 +01:00
bantablemodel.h Backport Bitcoin Qt/Gui changes up to 0.14.x part 3 (#1617) 2017-09-11 16:38:14 +03:00
bitcoinaddressvalidator.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
bitcoinaddressvalidator.h
bitcoinamountfield.cpp Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
bitcoinamountfield.h
bitcoingui.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
bitcoingui.h Remove all legacy/compatibility MN code (#2600) 2019-01-03 12:17:43 +03:00
bitcoinunits.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
bitcoinunits.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
clientmodel.cpp A small overhaul of the way MN list/stats UI and data are tied together (#2696) 2019-02-12 22:51:03 +03:00
clientmodel.h A small overhaul of the way MN list/stats UI and data are tied together (#2696) 2019-02-12 22:51:03 +03:00
coincontroldialog.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
coincontroldialog.h Merge #9185: [Qt] fix coincontrol sort issue 2018-01-15 06:14:16 +01:00
coincontroltreewidget.cpp
coincontroltreewidget.h Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
csvmodelwriter.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
csvmodelwriter.h Merge #7300: [trivial] Add missing copyright headers 2017-12-11 08:08:48 +01:00
dash_locale.qrc Translations 201811 (#2249) 2018-11-07 10:39:06 +03:00
dash.cpp Implement optional pretty printed stacktraces (#2420) 2019-02-21 21:37:15 +03:00
dash.qrc swap out old logo for T&C logo in Qt GUI (#2081) 2018-05-29 18:13:08 +03:00
dashstrings.cpp [0.13.0.x] Translations201901 (#2592) 2019-01-11 12:54:38 +03:00
editaddressdialog.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
editaddressdialog.h
guiconstants.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
guiutil.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
guiutil.h Remove all legacy/compatibility MN code (#2600) 2019-01-03 12:17:43 +03:00
intro.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
intro.h Merge #8540: qt: Fix random segfault when closing "Choose data directory" dialog 2018-01-08 18:04:55 +01:00
macdockiconhandler.h
macdockiconhandler.mm
macnotificationhandler.h Merge #7300: [trivial] Add missing copyright headers 2017-12-11 08:08:48 +01:00
macnotificationhandler.mm Cleanup 2016-02-15 00:01:44 +03:00
masternodelist.cpp A small overhaul of the way MN list/stats UI and data are tied together (#2696) 2019-02-12 22:51:03 +03:00
masternodelist.h A small overhaul of the way MN list/stats UI and data are tied together (#2696) 2019-02-12 22:51:03 +03:00
modaloverlay.cpp Merge #8802: Fix future copyright year 2018-01-11 13:22:22 +01:00
modaloverlay.h Merge #8802: Fix future copyright year 2018-01-11 13:22:22 +01:00
networkstyle.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
networkstyle.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
notificator.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
notificator.h Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
openuridialog.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
openuridialog.h
optionsdialog.cpp Add an option to disable popups for PS mixing txes (#2272) 2018-09-11 17:31:46 +03:00
optionsdialog.h Backport Bitcoin Qt/Gui changes up to 0.14.x part 2 (#1615) 2017-09-09 10:04:02 +03:00
optionsmodel.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
optionsmodel.h Add an option to disable popups for PS mixing txes (#2272) 2018-09-11 17:31:46 +03:00
overviewpage.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
overviewpage.h Backport Bitcoin Qt/Gui changes up to 0.14.x part 3 (#1617) 2017-09-11 16:38:14 +03:00
paymentrequest.proto Merge #8742: Specify Protobuf version 2 in paymentrequest.proto 2018-01-11 13:19:32 +01:00
paymentrequestplus.cpp Merge #9475: Let autoconf detect presence of EVP_MD_CTX_new 2018-01-18 07:33:44 +01:00
paymentrequestplus.h Merge #9758: Selectively suppress deprecation warnings 2018-01-23 09:24:29 +01:00
paymentserver.cpp Merge #9785: Avoid variable length arrays 2018-01-26 12:59:29 +01:00
paymentserver.h Merge #9785: Avoid variable length arrays 2018-01-26 12:59:29 +01:00
peertablemodel.cpp Merge #10176: net: gracefully handle NodeId wrapping 2018-01-26 12:59:29 +01:00
peertablemodel.h Backport Bitcoin Qt/Gui changes up to 0.14.x part 3 (#1617) 2017-09-11 16:38:14 +03:00
platformstyle.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
platformstyle.h
qrdialog.cpp [GUI] Create QR-code for Masternode private key (#1970) 2018-03-08 15:17:34 +03:00
qrdialog.h [GUI] Create QR-code for Masternode private key (#1970) 2018-03-08 15:17:34 +03:00
qvalidatedlineedit.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
qvalidatedlineedit.h
qvaluecombobox.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
qvaluecombobox.h
receivecoinsdialog.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
receivecoinsdialog.h Few (mostly trivial) cleanups and fixes (#1940) 2018-02-21 19:32:08 +03:00
receiverequestdialog.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
receiverequestdialog.h Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
recentrequeststablemodel.cpp Merge #7383: [Qt] rename "amount" to "requested amount" in receive coins table 2017-12-10 00:04:02 +01:00
recentrequeststablemodel.h Merge #9039: Various serialization simplifcations and optimizations 2018-01-15 06:14:15 +01:00
rpcconsole.cpp A small overhaul of the way MN list/stats UI and data are tied together (#2696) 2019-02-12 22:51:03 +03:00
rpcconsole.h A small overhaul of the way MN list/stats UI and data are tied together (#2696) 2019-02-12 22:51:03 +03:00
sendcoinsdialog.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
sendcoinsdialog.h Merge #8989: [Qt] overhaul smart-fee slider, adjust default confirmation target 2018-01-13 13:44:38 +01:00
sendcoinsentry.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
sendcoinsentry.h
signverifymessagedialog.cpp Merge #8774: Qt refactors to better abstract wallet access 2018-01-13 13:44:37 +01:00
signverifymessagedialog.h
splashscreen.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
splashscreen.h Merge #8774: Qt refactors to better abstract wallet access 2018-01-13 13:44:37 +01:00
trafficgraphdata.cpp Few (mostly trivial) cleanups and fixes (#1940) 2018-02-21 19:32:08 +03:00
trafficgraphdata.h Few (mostly trivial) cleanups and fixes (#1940) 2018-02-21 19:32:08 +03:00
trafficgraphwidget.cpp Draw text on top of everything else in TrafficGraphWidget (#1944) 2018-03-10 15:34:50 +03:00
trafficgraphwidget.h Qt: bug fixes and enhancement to traffic graph widget (#1429) 2017-05-28 16:49:34 +03:00
transactiondesc.cpp Merge #8580: Make CTransaction actually immutable 2018-01-17 17:30:38 +01:00
transactiondesc.h Merge #7300: [trivial] Add missing copyright headers 2017-12-11 08:08:48 +01:00
transactiondescdialog.cpp Merge #7939: qt: Make it possible to show details for multiple transactions 2017-12-20 17:25:03 +01:00
transactiondescdialog.h Merge #7300: [trivial] Add missing copyright headers 2017-12-11 08:08:48 +01:00
transactionfilterproxy.cpp Add a column for IS lock status on Transactions tab (#2433) 2018-11-12 18:08:31 +03:00
transactionfilterproxy.h Add a column for IS lock status on Transactions tab (#2433) 2018-11-12 18:08:31 +03:00
transactionrecord.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
transactionrecord.h Fix lockedByInstantSend initialization (#2197) 2018-07-29 09:39:37 +03:00
transactiontablemodel.cpp Add a column for IS lock status on Transactions tab (#2433) 2018-11-12 18:08:31 +03:00
transactiontablemodel.h Add a column for IS lock status on Transactions tab (#2433) 2018-11-12 18:08:31 +03:00
transactionview.cpp [GUI] Realign tx filter widgets (#2485) 2018-11-23 16:23:15 +01:00
transactionview.h Add a column for IS lock status on Transactions tab (#2433) 2018-11-12 18:08:31 +03:00
utilitydialog.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
utilitydialog.h Backport Bitcoin Qt/Gui changes up to 0.14.x part 3 (#1617) 2017-09-11 16:38:14 +03:00
walletframe.cpp Merge #8793: Do not shadow in src/qt 2018-01-11 13:22:22 +01:00
walletframe.h Merge #8879: [doc] Rework docs 2018-01-12 09:57:56 +01:00
walletmodel.cpp A small overhaul of the way MN list/stats UI and data are tied together (#2696) 2019-02-12 22:51:03 +03:00
walletmodel.h A small overhaul of the way MN list/stats UI and data are tied together (#2696) 2019-02-12 22:51:03 +03:00
walletmodeltransaction.cpp Match recipients with txouts by scriptPubKey in reassignAmounts() (#2548) 2018-12-13 09:12:07 +01:00
walletmodeltransaction.h Match recipients with txouts by scriptPubKey in reassignAmounts() (#2548) 2018-12-13 09:12:07 +01:00
walletview.cpp Remove all legacy/compatibility MN code (#2600) 2019-01-03 12:17:43 +03:00
walletview.h Backport Bitcoin Qt/Gui changes up to 0.14.x part 2 (#1615) 2017-09-09 10:04:02 +03:00
winshutdownmonitor.cpp Fix LogPrint to LogPrintf 2016-06-21 01:01:13 +07:00
winshutdownmonitor.h