8sa1-binutils-gdb/gdb/doc
Jan Kratochvil 253828f102 Sort threads for thread apply all
downstream Fedora request:
	Please make it easier to find the backtrace of the crashing thread
	https://bugzilla.redhat.com/show_bug.cgi?id=1024504

Currently after loading a core file GDB prints:

Core was generated by `./threadcrash1'.
Program terminated with signal SIGSEGV, Segmentation fault.
8       *(volatile int *)0=0;
(gdb) _

there is nowhere seen which of the threads had crashed.  In reality GDB always
numbers that thread as #1 and it is the current thread that time.  But after
dumping all the info into a file for later analysis it is no longer obvious.
'thread apply all bt' even puts the thread #1 to the _end_ of the output!!!

I find maybe as good enough and with no risk of UI change flamewar to just
sort the threads by their number.  Currently they are printed as they happen
in the internal GDB list which has no advantage.  Printing thread #1 as the
first one with assumed 'thread apply all bt' (after the core file is loaded)
should make the complaint resolved I guess.

On Thu, 15 Jan 2015 20:29:07 +0100, Doug Evans wrote:
No objection to sorting the list, but if thread #1 is the important one,
then a concern could be it'll have scrolled off the screen (such a
concern has been voiced in another thread in another context),
and if not lost (say it's in an emacs buffer) one would still have
to scroll back to see it.
So one *could* still want #1 to be last.
Do we want an option to choose the sort direction?

gdb/ChangeLog
2015-01-22  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* NEWS (Changes since GDB 7.9): Add 'thread apply all' option
	'-ascending'.
	* thread.c (tp_array_compar_ascending, tp_array_compar): New.
	(thread_apply_all_command): Parse CMD for tp_array_compar_ascending.
	Sort tp_array using tp_array_compar.
	(_initialize_thread): Extend thread_apply_all_command help.

gdb/doc/ChangeLog
2015-01-22  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.texinfo (Threads): Describe -ascending for thread apply all.
2015-01-22 21:04:53 +01:00
..
a4rc.sed
agentexpr.texi Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
all-cfg.texi Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
annotate.texinfo Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
ChangeLog Sort threads for thread apply all 2015-01-22 21:04:53 +01:00
doxy-index.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
Doxyfile-base.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
Doxyfile-gdb-api.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
Doxyfile-gdb-xref.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
Doxyfile-gdbserver.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
fdl.texi
filter-for-doxygen Add Doxygen support to GDB 2014-02-10 19:10:34 -08:00
filter-params.pl Add Doxygen support to GDB 2014-02-10 19:10:34 -08:00
gdb.texinfo Sort threads for thread apply all 2015-01-22 21:04:53 +01:00
gpl.texi
guile.texi Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
lpsrc.sed
Makefile.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
observer.texi Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
psrc.sed
python.texi Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
refcard.tex Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
stabs.texinfo Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
stack_frame.eps
stack_frame.pdf
stack_frame.png
stack_frame.svg
stack_frame.txt