qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-discuss] Debugging Application in qemu that terminates with an qem


From: Matthias Goldhoorn
Subject: [Qemu-discuss] Debugging Application in qemu that terminates with an qemu fatal error?
Date: Wed, 31 Oct 2012 10:31:39 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.5) Gecko/20120624 Icedove/10.0.5

Hello,
first hello to all, i'm a new qemu user and try to build an rtems real time application for an currently) i368 target. For those were interested in, i try to port the ROCK (rock-robotics.org) which includes the RTT - Toolkit to RTEMS systems. I got the Application running but later on an deterministic point i got the following error from qemu:

Bringing up tap0 for bridged mode...
qemu: fatal: Trying to execute code outside RAM or ROM at 0xf000ff53

EAX=009d4988 EBX=009d4a4c ECX=0079dce4 EDX=0000004c
ESI=009d4a4c EDI=00000000 EBP=009d4618 ESP=009d45fc
EIP=f000ff53 EFL=00003202 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00cf9e00 DPL=0 CS32 [CR-]
SS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     009b0060 00000017
IDT=     009b0080 000007ff
CR0=00050033 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000014 CCD=009d4604 CCO=SUBL
EFER=0000000000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=96b7ed41b7628000 3ffc FPR5=8000000000000000 3ffe
FPR6=b7e223d4a40f4800 3ffd FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000 XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000 XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000 XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000

I call qemu with the following command line:

sudo qemu -m 512 -net nic,macaddr=00:80:7F:22:61:77,model=ne2k_isa -net tap,script=$BUILD_PREFIX/scripts/files/qemu-ifup -kernel orogen_default_message_producer__Task -s

Because qemu terminates i have no chance to debug my application. I tryed to use kvm instead of an full emulation in this scenario and got the following:

KVM internal error. Suberror: 1
emulation failure
EAX=009d4988 EBX=009d4a4c ECX=0079dce4 EDX=0000004c
ESI=009d4a4c EDI=00000000 EBP=009d4618 ESP=009d45fc
EIP=f000ff53 EFL=00013202 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09f00 DPL=0 CS32 [CRA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     009b0060 00000017
IDT=     009b0080 000007ff
CR0=00050033 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
Code=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <00> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Quemu not terminates and i can attach with gdb to it
[10:27:46 goldhoorn message_producer]$ i386-rtems-gdb build/orogen_default_message_producer__Task
...
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
0xf000ff53 in ?? ()
(gdb) bt
#0  0xf000ff53 in ?? ()
#1 0x0043eb12 in _0RL_lcfn_10a79cd5b9c0aa8e_10000000(omniCallDescriptor*, omniServant*) ()
Speicherzugriffsfehler

Is there another way to debug application within qemu?, my problem is i cannot set watchpoints too:
(gdb) watch *0xf000ff53
Hardware watchpoint 1: *0xf000ff53
(gdb) c
Continuing.
Warning:
Could not insert hardware watchpoint 1.
Could not insert hardware breakpoints:
You may have requested too many hardware breakpoints/watchpoints.


Do you have any suggestion howto get an better behaviour for qemu?

Greetings,
Matthias

--
 Dipl.-Inf. Matthias Goldhoorn
 Space and Underwater Robotic

 Universität Bremen
 FB 3 - Mathematik und Informatik
 AG Robotik
 Robert-Hooke-Straße 5
 28359 Bremen, Germany

 Tel.:     +49 421 178 45-4193
 Zentrale: +49 421 178 45-6550
 Fax:      +49 421 178 45-4150
 E-Mail:   address@hidden

 Weitere Informationen: http://www.informatik.uni-bremen.de/robotik




reply via email to

[Prev in Thread] Current Thread [Next in Thread]