A web-based tool for viewing and inspecting SKP and MSKP files (recorded SkPictures)
The debugger consists of one-page app that uses a build of CanvasKit with extra bindings. The wasm module draws the SKP file being inspected to the canvas in the center of the page. Source for this wasm module is in the Skia repository at //modules/canvaskit/debugger_bindings.cpp
Run the following to run the debugger instance locally using the version built from ToT. Talk to the Skia Infra team if you have permission issues that need to be sorted out.
make run-local-instance
To run debugger locally with a custom build of debugger, run the following in the Skia repo.
make -C modules/canvaskit with_debugger
This should copy the canvaskit.js, canvaskit.wasm, and canvaskit.d.ts to //debugger-app/wasm_libs/local_build
, assuming you have the SKIA_INFRA_ROOT
environment variable set. Then, you can run (in this repo)
make run-with-custom
Do not check in those files that were copied.
The application can now be loaded at http://localhost:8000/
The port can be changed via an environment variable, e.g.
DEBUGGER_LOCAL_PORT=:8123 make run-with-custom
There is a task_driver that will deploy this application at ToT configured in infra/bots/task_drivers/push_apps_from_skia_wasm_images/push_apps_from_skia_wasm_images.go
It runs make bazel_release_ci
to use the freshly built WASM/JS files to build the container.
In production, the app is served from go/debugger-app/main.go. See https://skia-review.googlesource.com/c/buildbot/+/334818 for the initial deployment.