pgsql: Add backtrace support for error reporting

Started by Alvaro Herreraover 6 years ago3 messagescomitters
Jump to latest
#1Alvaro Herrera
alvherre@2ndquadrant.com

Add backtrace support for error reporting

Add some support for automatically showing backtraces in certain error
situations in the server. Backtraces are shown on assertion failure;
also, a new setting backtrace_functions can be set to a list of C
function names, and all ereport()s and elog()s from the mentioned
functions will have backtraces generated. Finally, the function
errbacktrace() can be manually added to an ereport() call to generate a
backtrace for that call.

Authors: Peter Eisentraut, Álvaro Herrera
Discussion: /messages/by-id//5f48cb47-bf1e-05b6-7aae-3bf2cd01586d@2ndquadrant.com
Discussion: /messages/by-id/CAMsr+YGL+yfWE=JvbUbnpWtrRZNey7hJ07+zT4bYJdVp4Szdrg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/71a8a4f6e36547bb060dbcc961ea9b57420f7190

Modified Files
--------------
configure | 61 +++++++++++++++++++-
configure.in | 4 ++
doc/src/sgml/config.sgml | 26 +++++++++
src/backend/utils/error/assert.c | 13 +++++
src/backend/utils/error/elog.c | 117 +++++++++++++++++++++++++++++++++++++++
src/backend/utils/misc/guc.c | 85 ++++++++++++++++++++++++++++
src/include/pg_config.h.in | 6 ++
src/include/utils/elog.h | 3 +
src/include/utils/guc.h | 2 +
9 files changed, 315 insertions(+), 2 deletions(-)

#2Amit Langote
Langote_Amit_f8@lab.ntt.co.jp
In reply to: Alvaro Herrera (#1)
Re: pgsql: Add backtrace support for error reporting

On Sat, Nov 9, 2019 at 3:52 Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:

Add backtrace support for error reporting

Yay, thanks!

- Amit

#3Julien Rouhaud
rjuju123@gmail.com
In reply to: Amit Langote (#2)
Re: pgsql: Add backtrace support for error reporting

On Fri, Nov 8, 2019 at 11:30 PM Amit Langote <amitlangote09@gmail.com> wrote:

On Sat, Nov 9, 2019 at 3:52 Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:

Add backtrace support for error reporting

Yay, thanks!

+1 that's very cool!