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 are two Louhi flows that work to build this application. debugger-app-base
runs //debugger-app:debugger_container-base
which creates the application Docker image (minus CanvasKit). debugger-app
runs //infra/debugger-app:debugger_container
(in the Skia repo), which injects CanvasKit to create the final Docker image. Both of these flows are defined in templates/config.yml.