From 6889f53397edf4c2e94df67d72ef0b1e7b18d35a Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Sun, 26 Jun 2016 01:28:06 +0200 Subject: [PATCH] debug.nix: add traceSeq & traceValSeq Debugging functions that strictly deep-evaluate the argument that should be traced. --- lib/debug.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/debug.nix b/lib/debug.nix index 2d10d981114..38612d630b3 100644 --- a/lib/debug.nix +++ b/lib/debug.nix @@ -19,6 +19,10 @@ rec { traceXMLVal = x: trace (builtins.toXML x) x; traceXMLValMarked = str: x: trace (str + builtins.toXML x) x; + # strict trace functions (traced structure is fully evaluated and printed) + traceSeq = x: y: trace (builtins.deepSeq x x) y; + traceValSeq = v: traceVal (builtins.deepSeq v v); + # this can help debug your code as well - designed to not produce thousands of lines traceShowVal = x : trace (showVal x) x; traceShowValMarked = str: x: trace (str + showVal x) x;