Re: Can't enable reverse debugging


Khem Raj
 

On Dec 12, 2016, at 6:59 AM, Bryan Evenson <bevenson@...> wrote:

Khem,

-----Original Message-----
From: Khem Raj [mailto:raj.khem@...]
Sent: Saturday, December 10, 2016 4:26 PM
To: Bryan Evenson <bevenson@...>
Cc: yocto@...
Subject: Re: [yocto] Can't enable reverse debugging

On Fri, Dec 9, 2016 at 8:43 AM, Bryan Evenson <bevenson@...>
wrote:
I tried a few other things, see below.

-----Original Message-----
From: yocto-bounces@... [mailto:yocto-
bounces@...] On Behalf Of Bryan Evenson
Sent: Thursday, December 08, 2016 2:50 PM
To: yocto@...
Subject: [yocto] Can't enable reverse debugging

I'm on poky/dizzy and I'm getting a segementation fault in my application
that I think may be related to a buffer overflow. I'm using the Eclipse
plug-in
(on Eclipse Kepler) to debug on the hardware with GDB. I'm trying to
enable
reverse debugging but I have not had any success and I'm looking for
some
help.

My target processor is an SAM9G25 (ARM926EJ-S core). I have been able
to
debug through Eclipse on the target hardware without issue. I tried
enabling
Reverse Debugging by going to Window->Customize Perspective...-
Command Groups Availability and selecting "Reverse Debugging". Now
there is a "Reverse Toggle" button on my toolbar, but it is always grayed
out
whether I have a debug session running or not. I have also tried entering
the
command "record" from the GDB console after my program breaks at
main.
When I run the program, I get the error message "Process record: failed
to
record execution log".
I tried first running my application, pausing the debugger and then sending
the "record" command. When I continued debugging, I got the following
GDB error:

....x86_64-nativesdk-pokysdk-linux/gdb-cross-canadian-arm/7.7.1-r0/gdb-
7.7.1/gdb/utils.c:1073: internal-error: virtual memory exhausted.
A problem internal to GDB has been detected,
further debugging may prove unreliable.

I did some looking around and I couldn't see any reasonable answer to why
this would happen. I also just noticed that for the Debug Configurations
under Eclipse, the debugger settings tab doesn't have "Enable Reverse
Debugging at startup" option listed for the C/C++ Remote Application
debugging type. Is this option just not available to me with my environment?

This could mean many things but one area I know is troublesome is
python support. Sometimes there are issues between
fundamental types, can you check if the error happens when gdb is
running some pythonic stuff.
Could you explain how to do this? I don't use Python so I'm not sure if I'm doing a valid test. I tried to debug a Python script with GDB through Eclipse and I wasn't successful. I then went through the command line and was able to remotely run a simple Python script (print "Hello, Python" once per second) through GDB. If I issued a "record" command through GDB first, then when I tried to debug the Python script I'd immediately get a segmentation fault.

Is there something specific you'd like me to try? If you think the Python support may be the issue, is there something I should be verifying is present or is at a certain version?
Disable python support in gdb and compile it e.g.

Thanks,
Bryan

Join yocto@lists.yoctoproject.org to automatically receive all group messages.