Re: Can't enable reverse debugging


Bryan Evenson
 

Khem,

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


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/g
db-
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.
I rebuilt gdb. I used the --configure option to verify that my previous gdb did have the "--with-python" option present and that my newly built gdb did not have that option anymore. I no longer can produce the " internal-error: virtual memory exhausted" error, but whenever I try to record I still get the "Process record: failed to record execution log" when I run the application. If it helps, here's the configuration output from GDB:

This GDB was configured as follows:
configure --host=x86_64-linux --target=arm-poky-linux-gnueabi
--with-auto-load-dir=$debugdir:$datadir/auto-load
--with-auto-load-safe-path=$debugdir:$datadir/auto-load
--with-expat
--with-gdb-datadir=~/poky/poky-build/tmp/sysroots/x86_64-linux/usr/share/gdb-arm926ejste-poky-linux-gnueabi/gdb (relocatable)
--with-jit-reader-dir=~/poky/poky-build/tmp/sysroots/x86_64-linux/usr/lib/arm-poky-linux-gnueabi/gdb (relocatable)
--without-libunwind-ia64
--without-lzma
--with-separate-debug-dir=~/poky/poky-build/tmp/sysroots/x86_64-linux/usr/lib/arm-poky-linux-gnueabi/debug (relocatable)
--with-zlib
--without-babeltrace

Any additional suggestions would be appreciated.

Thanks,
Bryan


Thanks,
Bryan

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