Re: Making "info thread" sane

Andrew Cagney
2004-03-09T01:25:20Z

> First, the objective is to get something like what "info thread" does but with a frame that is outside of the switch code (which may mean several frames up the stack). I was considering a macro that would do a silent info thread followed by a loop on each discovered thread. In your message yesterday you suggested something like:
>
> thread apply all try... end
>
> Well, I don't find "try" but the apply all seems to accept a macro as a command so I think this will do the right thing. And up-silent does a silent up.

"try" isn't seen cos the patch is sitting in the bug database :-(

I mentioned "try" as without it the command will abort on the first
error (e.g., corrupt stack for bad memory access).

> So, this would be my macro set:
>
> define do_threads
> thread apply all do_th_lines
> end
>
> define do_th_lines
> while ($pc > $low_sched) && ($pc < $high_sched)
> up-silent
> end
> do-silent
> up
> end
>
> What is missing are: 1) I would like to not have the newline after the
> "Thread 1 (Thread 1):" (a minor point, but with 100 threads it adds up) and
> 2) I would like to have the result of the "ThreadExtraInfo" on the
same line (as the info thread command does).

Can you post the output so we can see exactly what you mean here?

> Nice, would be the ability to print the final up result without doing the down first. In fact this is really needed if it turns out that we are at the first frame which would be the case for the current thread. Is that a command I missed?

You mean an abbreviated "info frame"? Yes, using "up" to get that
output isn't right.

> I suspect that 2) can be handled by "info remote-process" with changes to the stub AND I would like this to NOT put in a linefeed.

What "info remote-process" command?

> It would appear that this has unwound into a couple of rather simple things:
> a) No new line capability on the "thread apply all"
> b) No new line on "info remote-process"
> c) Ability to do the up/down report without moving to a new frame.

Andrew