New submission from Maxime Belanger <m...@dropbox.com>:

We've recently been toying with more sophisticated crash reporting machinery 
for our Desktop Python application (which we deploy on macOS, Windows and 
Linux).

To assist in debugging, we are storing `_PyRuntime` in a predictable location 
our crash reporter can later look up without needing the symbol table (this can 
grow complicated across multiple platforms).

Taking a page from `crashpad`'s book 
(https://chromium.googlesource.com/crashpad/crashpad/+/master/client/crashpad_info.cc),
 we've patched `pylifecycle.c` to store the `_PyRuntime` struct in a section of 
the same name. Upon a crash,  this section is then used by the tool to annotate 
each report with enough information to reconstruct the Python stack frames in 
each thread (as applicable).

We're contributing our patch here in the hopes this can be helpful to others.

----------
components: Interpreter Core, Windows, macOS
messages: 308079
nosy: Maxime Belanger, ned.deily, paul.moore, ronaldoussoren, steve.dower, 
tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: Expose `_PyRuntime` through a section name
type: enhancement
versions: Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue32280>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to