Thread: clearing call stack when a new binary file is loaded
clearing call stack when a new binary
file is loaded
United Kingdom
2008-04-23 05:09:12
Hi,
We are developing a graphical embedded debugger based on
GDB mi interface.
UI part is based on Eclipse CDT and it communicates with GDB
through mi
interface. We are facing a problem with call stacks after a
new binary is
loaded to GDB. Our UI relays on the call stack information
provided by GDB
to show the debug context.
Steps to reproduce the issues:
1) Start GDB and connect to remote GDB server which is
connected to an
embedded target. The embedded target is waiting at PC
0xBFC00000
2) Now load an ELF file to GDB with entry point as
0xA0000000
3) Now GDB shows $pc register value as 0xA0000000. But the
call stack
still shows frames with 0xBFC00000
Is this GDB behaviour by design? Is there any mi interface
to clear the
stack frame and update to the current $pc value?
Thanks,
Jiju George
Re: clearing call stack when a new
binary file is loaded
United States
2008-04-23 06:45:37
On Wed, Apr 23, 2008 at 02:51:35PM +0400, Vladimir Prus
wrote:
> Which version of GDB?
I expect it still does this. write_pc doesn't invalidate
the frame
cache, so we should manually do so at the end of
generic_load.
--
Daniel Jacobowitz
CodeSourcery
RE: clearing call stack when a new
binary file is loaded
United Kingdom
2008-04-24 11:24:53
Will it be fixed in the next release? Do I have to file a
bug on this?
-----Original Message-----
From: 'Daniel Jacobowitz' [mailto:drowfalse.org]
Sent: 23 April 2008 13:57
To: Jiju George T
Cc: 'Vladimir Prus'; gdbsources.redhat.com
Subject: Re: clearing call stack when a new binary file is
loaded
On Wed, Apr 23, 2008 at 01:53:46PM +0100, Jiju George T
wrote:
> Is there any equivalent mi command to invalidate the
frame cache?
No. If you use GDB 6.8 the CLI command
"flushregs" will hack around
the problem but we simply need to fix it.
--
Daniel Jacobowitz
CodeSourcery