CRIU can be used to assist in application debugging.
Use cases
- Remote analysis
- Take periodic snapshots of a running application, transfer those to another machine to debug, analyse its behavior, performance etc.
- Deferred debug
- An application in production is not working properly and needs a restart ASAP. Checkpoint it before restarting, and use the dump later for debug.
- Problem reporting
- An application misbehaves. Checkpoint it and send the dump together with the problem description to its author/maintainer.
HOWTO
Checkpoint
Use criu dump
as usual. If the app is not running inside an isolated container,
you might need to use a few options described in external resources.
Note you also need to include a file system snapshot; see Filesystem C/R for details.
Restore
To restore, use criu-ns tool, it solves a number of issues.