summaryrefslogtreecommitdiffstats
path: root/scripts/convert-debug-for-diff.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:07:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:07:14 +0000
commita175314c3e5827eb193872241446f2f8f5c9d33c (patch)
treecd3d60ca99ae00829c52a6ca79150a5b6e62528b /scripts/convert-debug-for-diff.sh
parentInitial commit. (diff)
downloadmariadb-10.5-a175314c3e5827eb193872241446f2f8f5c9d33c.tar.xz
mariadb-10.5-a175314c3e5827eb193872241446f2f8f5c9d33c.zip
Adding upstream version 1:10.5.12.upstream/1%10.5.12upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'scripts/convert-debug-for-diff.sh')
-rwxr-xr-xscripts/convert-debug-for-diff.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/convert-debug-for-diff.sh b/scripts/convert-debug-for-diff.sh
new file mode 100755
index 00000000..5b3ce05b
--- /dev/null
+++ b/scripts/convert-debug-for-diff.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/perl -i
+#
+# This script converts all numbers that look like addresses or memory sizes,
+# in a debug files generated by --debug (like mysqld --debug-dbug), to #.
+# The script also deletes all thread id's from the start of the line.
+
+# This allows you to easily compare the files (for example with diff)
+# to find out what changes between different executions.
+# This is extremely useful for comparing two mysqld versions to see
+# why things now work differently.
+
+# The script converts the files in place.
+#
+# Typical usage:
+#
+# convert-debug-for-diff /tmp/mysqld.trace /tmp/mysqld-old.trace
+# diff /tmp/mysqld.trace /tmp/mysqld-old.trace
+
+while (<>)
+{
+ s/^T@[0-9]+\s*://g;
+ s/0x[0-9a-f]+(\s|\n|\))/#$1/g;
+ s/size: [0-9]+/size: #/g;
+ print $_;
+}