Help debugging with MSys2 by optionally executing bash with strace

MSys2's strace facility is very useful for debugging... With this patch,
the bash will be executed through strace if the environment variable
GIT_STRACE_COMMANDS is set, which comes in real handy when investigating
issues in the test suite.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin
2015-02-20 09:52:07 +00:00
parent 8bca78b752
commit dfb7979179

View File

@@ -1202,6 +1202,16 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **deltaen
free(quoted);
}
if (getenv("GIT_STRACE_COMMANDS")) {
char **path = get_path_split();
cmd = path_lookup("strace.exe", path, 1);
if (!cmd)
return error("strace not found!");
if (xutftowcs_path(wcmd, cmd) < 0)
return -1;
strbuf_insert(&args, 0, "strace ", 7);
}
ALLOC_ARRAY(wargs, st_add(st_mult(2, args.len), 1));
xutftowcs(wargs, args.buf, 2 * args.len + 1);
strbuf_release(&args);