Difference between revisions of "Debugging"

From CRIU
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 14: Line 14:
 
== Docker C/R ==
 
== Docker C/R ==
  
Docker keeps images in ... and logs in ...
+
Docker keeps images in and logs in <code>/var/lib/docker/containers//checkpoints/chp_/criu.work/</code>
  
 
== Tracing ==
 
== Tracing ==
Line 22: Line 22:
 
== Images ==
 
== Images ==
  
The crit tool can help to decode image files into a human readable format.
+
The [[CRIT]] tool can help to decode [[images]] into a human readable format.
  
 
[[Category:Using]]
 
[[Category:Using]]
 
[[Category:Development]]
 
[[Category:Development]]
 
[[Category:HOWTO]]
 
[[Category:HOWTO]]

Latest revision as of 09:48, 16 February 2017

Raise verbosity[edit]

Make sure you use the -v4 option for extended logging and find logs in the work/images directories.

Getting core files[edit]

If CRIU crashes it's useful to build it with debug info and look into core file.

  • build CRIU with debug info make DEBUG=1
  • setup core file generation which depends on distro settings, usually the core generation template is sitting in /proc/sys/kernel/core_pattern, see more details at core.5

Then upload core file into debugger gdb criu core-file and type bt command to fetch a backtrace.

Docker C/R[edit]

Docker keeps images in and logs in /var/lib/docker/containers//checkpoints/chp_/criu.work/

Tracing[edit]

CRIU uses ptrace(), so strace can't be used in some cases. perf trace is an alternative way. It isn't so informative, but it is still better than nothing.

Images[edit]

The CRIT tool can help to decode images into a human readable format.