Hunter is a flexible code tracing toolkit.
hunter.event.Event.module
is always the "?"
string instead of None
. Previously it was None
when tracing particularly broken code and broke various predicates.hunter.event.Event.filename
is now "?"
if there's no filename available.hunter.actions.CallPrinter
so that trace events for builtin functions are displayed differently. These events appear when using profile mode (eg: trace(profile=True)
).hunter.event.Event.module
is an unicode string. Now it's always a regular string. Only applies to Python 2.
hunter.event.Event.builtin
. Now it's always a boolean, and can be used consistently in filters (eg: builtin=True,function='getattr'
).safe_repr
.hunter.actions.CallPrinter
.hunter.actions.StackPrinter
action.hunter.predicates.Backlog
predicate. Contributed by Dan Ailenei in #81.PyObject_GetAttr
calls in the Cython implementation of hunter.predicates.Backlog
.hunter.actions.ErrorSnooper
action.trace(profile=True)
). This mode will use setprofile
instead of settrace
.hunter.event.Event.instruction
and hunter.event.Event.builtin
(usable in profile mode).<frozen importlib.something
stdlib check.<frozen importlib.something
files as part of stdlib.hunter.actions.ErrorSnooper
- an action that detects silenced exceptions.hunter.load_config
and fixed issues with configuration being loaded too late from the PYTHONHUNTERCONFIG
environment variable.hunter.From
helper to automatically move depth
and calls
filters to the predicate (so they filter after hunter.predicates.From
activates).hunter.predicates.From
to pass a copy of event to the predicate. The copy will have the depth
and calls
attributes adjusted to the point where hunter.predicates.From
activated.&
and |
operators with predicates.hunter.event.Event.detach
(hunter.event.Event.function_object
and hunter.event.Event.arg
).