* When isn't there a selected frame?
@ 2002-04-14 19:04 Andrew Cagney
2002-04-14 19:13 ` Daniel Jacobowitz
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Cagney @ 2002-04-14 19:04 UTC (permalink / raw)
To: gdb
Hello,
Random bits of GDB contain code snipits like:
if (selected_frame)
..
else
error ("No selected frame");
Is there any time when it doesn't make sense to have a selected frame
(except, say when current_frame() is also NULL)?
I think the next step on the cache per thread frames is to replace
selected_frame with:
get_selected_frame ()
if (selected_frame)
return selected_frame;
else
return get_current_frame ()
so that selected frame is created on demand.
Andrew
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: When isn't there a selected frame? 2002-04-14 19:04 When isn't there a selected frame? Andrew Cagney @ 2002-04-14 19:13 ` Daniel Jacobowitz 2002-04-14 20:08 ` Elena Zannoni 0 siblings, 1 reply; 4+ messages in thread From: Daniel Jacobowitz @ 2002-04-14 19:13 UTC (permalink / raw) To: gdb On Sun, Apr 14, 2002 at 10:04:51PM -0400, Andrew Cagney wrote: > Hello, > > Random bits of GDB contain code snipits like: > > if (selected_frame) > .. > else > error ("No selected frame"); > > Is there any time when it doesn't make sense to have a selected frame > (except, say when current_frame() is also NULL)? Perhaps to handle when the target is not running? I am pretty sure I've reached a couple of those messages. -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: When isn't there a selected frame? 2002-04-14 19:13 ` Daniel Jacobowitz @ 2002-04-14 20:08 ` Elena Zannoni 2002-04-17 7:37 ` Andrew Cagney 0 siblings, 1 reply; 4+ messages in thread From: Elena Zannoni @ 2002-04-14 20:08 UTC (permalink / raw) To: Daniel Jacobowitz, cagney; +Cc: gdb Daniel Jacobowitz writes: > On Sun, Apr 14, 2002 at 10:04:51PM -0400, Andrew Cagney wrote: > > Hello, > > > > Random bits of GDB contain code snipits like: > > > > if (selected_frame) > > .. > > else > > error ("No selected frame"); > > > > Is there any time when it doesn't make sense to have a selected frame > > (except, say when current_frame() is also NULL)? > > Perhaps to handle when the target is not running? I am pretty sure > I've reached a couple of those messages. > Yes, so it seems. What about connecting to a remote target? Do you get a frame selected right away? How about attach? detach? Hmm, I just tried with a sim and a native attach, and current_frame and selected_frame seem to be in sync, i.e, not null at the same time. BTW, I always got a bit confused by the 'No stack' vs. 'No selected frame' message. I know that No stack has to do with the capabilities of the target as opposed at what your inferior program is doing right now, but as a *user* I find it a bit confusing. And don't forget the variations on the theme: "No frame selected" "No selected stack frame" "no frame selected" Should we stick with just one message? Elena > -- > Daniel Jacobowitz Carnegie Mellon University > MontaVista Software Debian GNU/Linux Developer ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: When isn't there a selected frame? 2002-04-14 20:08 ` Elena Zannoni @ 2002-04-17 7:37 ` Andrew Cagney 0 siblings, 0 replies; 4+ messages in thread From: Andrew Cagney @ 2002-04-17 7:37 UTC (permalink / raw) To: Elena Zannoni; +Cc: Daniel Jacobowitz, cagney, gdb > Daniel Jacobowitz writes: > > On Sun, Apr 14, 2002 at 10:04:51PM -0400, Andrew Cagney wrote: > > > Hello, > > > > > Random bits of GDB contain code snipits like: > > > > > if (selected_frame) > > > .. > > > else > > > error ("No selected frame"); > > > > > Is there any time when it doesn't make sense to have a selected frame > > > (except, say when current_frame() is also NULL)? > > > Perhaps to handle when the target is not running? I am pretty sure > > I've reached a couple of those messages. > > Yes, so it seems. What about connecting to a remote target? Do you > get a frame selected right away? How about attach? detach? Hmm, I > just tried with a sim and a native attach, and current_frame and > selected_frame seem to be in sync, i.e, not null at the same time. So, provided the target has ``state'', there is a frame. This is different to ``no stack''. Even with no stack, there can be a frame, it is just that it can't do much :-( Anyway, this means the change: > get_selected_frame () > if (selected_frame) > return selected_frame; > else > return get_current_frame () Well actually: if (selected_frame == NULL) selected_frame = get_current_frame (); return selected_frame; Is looking reasonable as a first cut. Return what ever get_current_frame() thinks is the current frame. > BTW, I always got a bit confused by the 'No stack' vs. 'No selected > frame' message. I know that No stack has to do with the capabilities > of the target as opposed at what your inferior program is doing right > now, but as a *user* I find it a bit confusing. > And don't forget the variations on the theme: > > "No frame selected" > "No selected stack frame" > "no frame selected" > > Should we stick with just one message? Yes. How to fix it, I'm not sure. I suspect no one is really sure if/when selected_frame() can be null. Andrew ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2002-04-17 14:37 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2002-04-14 19:04 When isn't there a selected frame? Andrew Cagney 2002-04-14 19:13 ` Daniel Jacobowitz 2002-04-14 20:08 ` Elena Zannoni 2002-04-17 7:37 ` Andrew Cagney
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox