innmind / stack-trace
Tool to inspect exception stack trace
4.1.0
2023-09-17 15:22 UTC
Requires
- php: ~8.2
- innmind/graphviz: ~3.1
- innmind/immutable: ~4.1|~5.0
- innmind/url: ~4.0
Requires (Dev)
- innmind/black-box: ~5.5
- innmind/coding-standard: ~2.0
- phpunit/phpunit: ~10.2
- vimeo/psalm: ~5.12
This package is auto-updated.
Last update: 2024-11-17 17:43:04 UTC
README
Tool to inspect an Exception stack trace
Installation
composer require innmind/stack-trace
Usage
use Innmind\StackTrace\{ StackTrace, Render, }; use Innmind\OperatingSystem\Factory; use Innmind\Server\Control\Server\Command; $trace = StackTrace::of(new AnyClassImplementingPhpThrowableInterface); // every call frames that lead to the exception to be thrown // (deepest call frame first) $callFrames = $trace->throwable()->callFrames(); // this will render the stack trace via graphviz Factory::build() ->control() ->processes() ->execute( Command::foreground('dot') ->withShortOption('Tsvg') ->withShortOption('o', 'graph.svg') ->withInput( Render::of()($trace) ), ) ->wait();
Note: the svg rendered contains links to the files where call frames and exceptions occured, you can change the link by providing an instance of Link
to the Render
object.