This will involve patching log handler
module, specifically various log handler classes (NVDA uses
Python’s logging facility for log output). Another thing to
consider is that some users may set log level to “disabled”,
in which only a brief startup message will be recorded. In
general, patching NVDA’s built-in modules and functions by
replacing a class or a function is discouraged as it can
introduce headaches (compatibility issues among others; trust
me, I went through it painfully recently with Windows 10 App
There used to be an add-on named Crash Hero
that will be triggered automatically when NVDA restarts after
a crash. This add-on will record crash information such as old
log file (if it exists). This add-on did not survive Python 3
transition (speaking of NVDA’s logging facility, it took days
to move that from 2 to 3 two years ago).
As a former programmer, I hesitate to even
suggest the following, as it is likely far, far more
complicated than the previous descriptions lead me to believe
it might be.
But if NVDA is detecting that an error has occurred, and what
would be sent to the NVDA developers (or add-on developers),
and all of that content comes from the log file working
backward from current logged error to the last one to extract
what's needed, could this not be automated as a function (or,
perhaps) add-on for the beta itself?
Based on what's been described, which I understand may not be
comprehensive, grabbing that traceback should be relatively
straightforward programatically and would result in far more
data for developers than relying on manual reporting would.
[Now, let the explanations about why the above is, in
actuality, impractical, begin. It just can't be this
straightforward or someone would have done it.]
Brian - Windows
10 Pro, 64-Bit, Version 20H2, Build 19042
The depths of denial one can
be pushed to by outside forces of disapproval can make you
not even recognize yourself to yourself.
~ Brian Vogel