Dumpio

Dokumentace

When a dump looks like an exception, Dumpio renders a dedicated view: the framework badge, the error class and message, the parsed stack trace with code context, extracted request/user/database/environment information, and ranked solution suggestions.

When a dump is treated as an exception

The content is an object and at least one of the following holds:

  • type is "exception", or
  • it contains one of the keys exception, error, stack, stackTrace, trace, or
  • it contains message together with file, line, or stack.

The simplest valid exception:

1{
2 "type": "exception",
3 "exception": "RuntimeException",
4 "message": "Payment gateway timed out",
5 "file": "/app/Payments/Gateway.php",
6 "line": 88
7}

Recognized frameworks

If you set the framework field, it's used directly. Otherwise Dumpio infers it from the content. Recognized values:

laravel, symfony, php, node, react, vue, alpine, js, python, django, flask, fastapi, go, gin, echo.

Detection uses signals such as the exception class namespace (Illuminate\, Symfony\), the framework_version field, language markers in the stack (goroutine, panic:, a Python traceback), and framework-specific context keys. An unknown framework falls back to js. Each framework has its own icon and badge in the header.

Extracted error fields

Shown as Read from
Error class exceptionerror.nametype (default Error)
Message messageerror.message
File / line top-level file/line, or error.file/error.line
Code code / error.code (may be a string, e.g. SQLSTATE "42S02")
Severity severitylevel

Stack trace

The trace is read from trace, stackTrace, stack, or error.stack.

  • An array of frames: each frame can carry file/filename, line/lineno, column/colno, function/method/name, class, type, args, and a code snippet (code / code_snippet / context, or preview).
  • Text traces are parsed in three formats:
    • JS — at fn (file:line:col)
    • PHP — #0 file(line): fn()
    • Laravel/Symfony — at Class->method() in file:line

The file and line of each frame is a clickable jump-to-editor link, and frames with a code snippet show it highlighted on the error line.

The Context tab

Dumpio parses rich context from the top level or from a nested context object and shows the most useful parts in the Context tab:

  • Request – url/uri, method, headers, body/data, query/get, params, ip, user agent.
  • User – id, email, name, roles.
  • Database – connection, query/sql, bindings, execution time (rendered as SQL).
  • Environment – PHP/Node/Python/Go version, framework and its version, environment, debug flag, plus language-specific extras.

You populate the context by nesting it under context (or providing top-level fields such as request / user etc.):

1{
2 "type": "exception",
3 "framework": "laravel",
4 "exception": "Illuminate\\Database\\QueryException",
5 "message": "SQLSTATE[42S02]: Base table or view not found",
6 "code": "42S02",
7 "file": "/app/Models/User.php",
8 "line": 45,
9 "trace": [
10 {
11 "file": "/app/Http/Controllers/UserController.php",
12 "line": 20,
13 "function": "index",
14 "class": "App\\Http\\Controllers\\UserController",
15 "type": "->"
16 }
17 ],
18 "context": {
19 "request": { "method": "GET", "url": "/users", "ip": "127.0.0.1" },
20 "user": { "id": 7, "email": "ada@example.com" },
21 "database": { "connection": "mysql", "query": "select * from users", "time": 3.8 },
22 "environment": { "framework": "Laravel", "framework_version": "11.0", "app_env": "local", "app_debug": true }
23 }
24}

Solution suggestions

Dumpio matches the error message and class against a built-in database of common problems (e.g. "Class not found", SQLSTATE, "Cannot read property", "Unexpected token", CORS, "Maximum update depth exceeded", Laravel CSRF / mass-assignment, React hook rules, Vue mounting) and offers ranked suggestions with a confidence probability. These are heuristic hints, not guaranteed fixes.

The automatically assigned flag

When you don't set flag, the exception's severity maps to a color: fatal/critical → red, warning/deprecated → yellow, notice/info → blue, sql/database → purple, else red.