Browse Source

Added Debugging env variables

pull/158/head
Eugenio Parodi 3 years ago
parent
commit
ff6c097bb3
  1. 14
      README.md
  2. 10
      TermTk/TTkCore/ttk.py

14
README.md

@ -91,6 +91,20 @@ python3 demo/gittk.py
# pip install pygments
python3 tests/test.ui.018.TextEdit.Pygments.py README.md
```
#### Debug
There are few ENV Variables that can be used to force some debugging features;
##### (TERMTK_LOG_TO) - Log to a file
To force a file logging
```bash
TERMTK_LOG_TO=session.log python3 demo/demo.py
```
##### (TERMTK_STACKTRACE) - Force stacktrace generation with CTRL+C
Use this env variable to force a stacktrace generation to "**stacktrace.txt**"
```bash
TERMTK_STACKTRACE=1 python3 demo/demo.py
```
#### Profiling
##### [VizTracer](https://pypi.org/project/viztracer/)

10
TermTk/TTkCore/ttk.py

@ -86,6 +86,9 @@ class TTk(TTkWidget):
'paintExecuted')
def __init__(self, *args, **kwargs):
if ('TERMTK_LOG_TO' in os.environ and (_logFile := os.environ['TERMTK_LOG_TO'])):
TTkLog.use_default_file_logging(_logFile)
self.paintExecuted = pyTTkSignal()
super().__init__(*args, **kwargs)
self._termMouse = True
@ -307,7 +310,12 @@ class TTk(TTkWidget):
# TODO: Restart threads
# TODO: Redraw the screen
def _SIGINT(self, signum, frame):
def _SIGINT(self, signum, fraTERMTK_STACKTRACEme):
if ('TERMTK_STACKTRACE' in os.environ and os.environ['TERMTK_STACKTRACE'] == '1'):
with open('stacktrace.txt','w') as f:
import faulthandler
faulthandler.dump_traceback(f)
TTkLog.debug("Captured SIGINT <CTRL-C>")
# Deregister the handler
# so CTRL-C can be redirected to the default handler if the app does not exit

Loading…
Cancel
Save