On Mon, 06 Jan 2014 15:52:08 +0100, Mark Wielaard wrote:
The default output should be useful as is.
Which it is not. As for the common case of stack overflow by infinite loop it
does not show the reason.
Of course they can tweak if however they want.
eu-stack has many options to tailor the output to your need.
The problem is that:
* One should not need to tweak a program to perform its primary functionality.
* It leads to bugs as in 95% of cases it does what one expects so external
tools will forget passing -n 0 to it, breaking only later on more
complicated input data.
But by default it provides [n=2048] frames for all threads of a
A bit too much for my liking,
It is too much to print on a console anyway while it is still breaking the
stack overflow crashes. It is had only two cons, no pro.
But I do think even without a tty one should be explicit
about what one wants.
One is explicit already by calling eu-stack. Command "eu-stack" does not
suggest me it is in fact "eu-bottom-of-stack".
> Paging, a-la git,
> applying a default limit only when stdin is a tty would still be
I think that is a little too fancy, but yeah, that could have been
another choice. But I do think even without a tty one should be explicit
These are all valid choices. And not breaking the primary functionality of
BTW. What does seem useful is a new (default) option --tail, that
only show the last n frames of each thread's backtrace.
For tail there is /usr/bin/tail:
Write programs that do one thing and do it well. Write programs to
work together. Write programs to handle text streams, because that is
a universal interface.
The same way there is /usr/bin/head or /usr/bin/less.
If detection of infinite backtraces can be done reliably.
It is always reliable.