diff --git a/include/haproxy/debug.h b/include/haproxy/debug.h
index 12456b5..5cec243 100644
--- a/include/haproxy/debug.h
+++ b/include/haproxy/debug.h
@@ -29,6 +29,7 @@
 void ha_task_dump(struct buffer *buf, const struct task *task, const char *pfx);
 void ha_thread_dump(struct buffer *buf, int thr, int calling_tid);
 void ha_dump_backtrace(struct buffer *buf, const char *prefix);
+void ha_backtrace_to_stderr();
 void ha_thread_dump_all_to_trash();
 void ha_panic();
 
diff --git a/src/debug.c b/src/debug.c
index 465def2..2a5e164 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -91,9 +91,10 @@
 		addr = resolve_sym_name(buf, ": ", callers[j]);
 		if (dump == 0) {
 			/* dump not started, will start *after*
-			 * ha_thread_dump_all_to_trash and ha_panic
+			 * ha_thread_dump_all_to_trash, ha_panic and ha_backtrace_to_stderr
 			 */
-			if (addr == ha_thread_dump_all_to_trash || addr == ha_panic)
+			if (addr == ha_thread_dump_all_to_trash || addr == ha_panic ||
+			    addr == ha_backtrace_to_stderr)
 				dump = 1;
 			*buf = bak;
 			continue;
@@ -101,7 +102,8 @@
 
 		if (dump == 1) {
 			/* starting */
-			if (addr == ha_thread_dump_all_to_trash || addr == ha_panic) {
+			if (addr == ha_thread_dump_all_to_trash || addr == ha_panic ||
+			    addr == ha_backtrace_to_stderr) {
 				*buf = bak;
 				continue;
 			}
@@ -121,6 +123,17 @@
 	}
 }
 
+/* dump a backtrace of current thread's stack to stderr. */
+void ha_backtrace_to_stderr()
+{
+	char area[2048];
+	struct buffer b = b_make(area, sizeof(area), 0, 0);
+
+	ha_dump_backtrace(&b, "  ");
+	if (b.data)
+		write(2, b.area, b.data);
+}
+
 /* Dumps to the buffer some known information for the desired thread, and
  * optionally extra info for the current thread. The dump will be appended to
  * the buffer, so the caller is responsible for preliminary initializing it.
