Discussion:
cdt-debug-dev Digest, Vol 34, Issue 10
John Dallaway
2008-01-03 07:45:43 UTC
Permalink
Hi Stefan

Thank you for your reply. Yes, I do have the option of rebuilding GDB
6.1 and I will try your suggestion...

John Dallaway


-------- Original Message --------
Message: 1
Date: Sat, 29 Dec 2007 12:48:17 +0100
From: Stefan Bylund <mb649215-BG+***@public.gmane.org>
Subject: Re: [cdt-debug-dev] Exception on GDB "-stack-list-frames"
To: CDT Debug developers list <cdt-debug-dev-j9T/***@public.gmane.org>
Message-ID: <47763401.60503-BG+***@public.gmane.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Hi John,

We are using GDB 6.3 and have stumbled over this issue as well. If you
have the option of rebuilding GDB you can simply replace a few error()
calls with warning() calls to make CDT happier. If you're interested, I
can look up exactly which lines we had to change in this way.

I think that the cause for this problem is that GDB 6.x doesn't always
realize when it has reached the bottom of the call stack and tries to
unwind the last stack frame multiple times. IMHO, calling error() at
this point is too defensive.

Regards,
Stefan
Hi Daniel
Thank you for your reply. Updating to GDB 6.7 is not a viable option for
me at present. I must workaround the issue. Do you understand why these
error messages arise and under what conditions an MI command might need
to be repeated? My experimentation suggests that switching to a new
thread using "-thread-select" and then switching back to the original
thread is sufficient to trigger the error on a subsequent
"-stack-list-frames" command.
I could modify the appropriate method in the Threads class to retry
"-stack-list-frames" in the same way that "-stack-info-depth" is
retried, but there may be other commands that require a similar treatment...
John Dallaway
Stefan Bylund
2008-01-03 09:15:25 UTC
Permalink
Hi John,

We had to do three error to warning changes in gdb/frame.c to get it to
work with CDT; two changes with the message "Previous frame inner to
this frame (corrupt stack?)" and one change with the message "Backtrace
limit of %d exceeded".

Regards,
Stefan
Post by John Dallaway
Hi Stefan
Thank you for your reply. Yes, I do have the option of rebuilding GDB
6.1 and I will try your suggestion...
John Dallaway
-------- Original Message --------
Message: 1
Date: Sat, 29 Dec 2007 12:48:17 +0100
Subject: Re: [cdt-debug-dev] Exception on GDB "-stack-list-frames"
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Hi John,
We are using GDB 6.3 and have stumbled over this issue as well. If you
have the option of rebuilding GDB you can simply replace a few error()
calls with warning() calls to make CDT happier. If you're interested, I
can look up exactly which lines we had to change in this way.
I think that the cause for this problem is that GDB 6.x doesn't always
realize when it has reached the bottom of the call stack and tries to
unwind the last stack frame multiple times. IMHO, calling error() at
this point is too defensive.
Regards,
Stefan
Hi Daniel
Thank you for your reply. Updating to GDB 6.7 is not a viable option for
me at present. I must workaround the issue. Do you understand why these
error messages arise and under what conditions an MI command might need
to be repeated? My experimentation suggests that switching to a new
thread using "-thread-select" and then switching back to the original
thread is sufficient to trigger the error on a subsequent
"-stack-list-frames" command.
I could modify the appropriate method in the Threads class to retry
"-stack-list-frames" in the same way that "-stack-info-depth" is
retried, but there may be other commands that require a similar treatment...
John Dallaway
_______________________________________________
cdt-debug-dev mailing list
https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
--
---------------------------------
Stefan Bylund
Senior Software Engineer
Enea
Skalholtsgatan 9,
Box 1033, SE-164 21 Kista, Sweden
Direct: +46 8 50 71 43 25
Mobile: +46 709 71 43 25
stefan.bylund-***@public.gmane.org
www.enea.com
---------------------------------
Enea - Embedded for Leaders
---------------------------------
Loading...