From: Gleb Natapov <gleb@redhat.com>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: chimeranet89@gmail.com, qemu-devel@nongnu.org,
Jun Koi <junkoi2004@gmail.com>
Subject: Re: [Qemu-devel] Re: [Bug 581353] Re: qemu doesn't stop execution upon hitting a breakpoint
Date: Wed, 16 Jun 2010 13:03:33 +0300 [thread overview]
Message-ID: <20100616100333.GE21797@redhat.com> (raw)
In-Reply-To: <4C189AAC.8040502@web.de>
On Wed, Jun 16, 2010 at 11:34:36AM +0200, Jan Kiszka wrote:
> malc wrote:
> > On Wed, 16 Jun 2010, Jan Kiszka wrote:
> >
> >> Jun Koi wrote:
> >>> On Wed, Jun 16, 2010 at 4:49 PM, Jan Kiszka <jan.kiszka@web.de> wrote:
> >>>> Jun Koi wrote:
> >>>>> On Wed, Jun 16, 2010 at 4:40 PM, Jan Kiszka <jan.kiszka@web.de> wrote:
> >>>>>> Jun Koi wrote:
> >>>>>>> On Wed, Jun 16, 2010 at 4:07 PM, Alfredo Mungo <chimeranet89@gmail.com> wrote:
> >>>>>>>> Same thing happens to me, same versions as above.. I must turn to
> >>>>>>>> another app to accomplish my work while awaiting for a bug-fix, the code
> >>>>>>>> is perfectly executed but while gdb hits the breakpoints qemu goes on..
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> qemu doesn't stop execution upon hitting a breakpoint
> >>>>>>>> https://bugs.launchpad.net/bugs/581353
> >>>>>>>> You received this bug notification because you are a member of qemu-
> >>>>>>>> devel-ml, which is subscribed to QEMU.
> >>>>>>> i think this bug has been fixed in 0.12.4. have you tried that??
> >>>>>> Or this is a well-known gdb deficit: if the bootloader operates in
> >>>>>> real-mode, you have to set two breakpoints, one at the linear address to
> >>>>>> make qemu catch it, and another one at the segment offset to avoid gdb
> >>>>>> skipping the exit due to ip != bp-addr.
> >>>>>>
> >>>>>> gdb is still fairly restricted when it comes to system-level debugging,
> >>>>>> specifically as it lacks support for special x86 registers and the
> >>>>>> segmented addressing mode.
> >>>>> what do you mean by "it lacks support for special x86 registers" ?
> >>>> idtr, gdtr, ldtr, tr, crX - to name the most important ones.
> >>> do you mean gdb has no command to show the values of these registers?
> >>> or you mean it doenst have anyway to get notified when these registers
> >>> are modified? (i dont see how this is useful for debugging, anway)
> >> Both: Neither supports gdb them as part of its register set nor does the
> >> remote gdb protocol transport them.
> >>
> >> You need this for segmented addressing, either in real mode (linear
> >> address = segment * 16 + offset) or in segmented protected mode (less
> >
> > Not true in general (big real mode), CPU still references hidden segment
> > cache even when protection is enabled.
>
> Unfortunately, the BIOS does not start in big real mode e.g...
>
Actually x86 cpu starts in some strange mode (not exactly big real
mode). CS.base == 0xffff0000. That is why the first instruction bios
does is long jump to init CS.
> Jan
>
> >
> >> common in modern OSes, but at least still used for per-CPU variables in
> >> Linux). And you need a way to detect the current operation mode at all
> >> to switch between 16/32, and 64 bit registers (set arch i386 vs.
> >> i386:x86-64). You don't need all this for application-level debugging,
> >> and that's why gdb lacks it so far.
> >>
> >> Jan
> >>
> >>
>
>
--
Gleb.
next prev parent reply other threads:[~2010-06-16 10:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20100516152304.10489.35592.malonedeb@potassium.ubuntu.com>
2010-06-16 7:07 ` [Qemu-devel] [Bug 581353] Re: qemu doesn't stop execution upon hitting a breakpoint Alfredo Mungo
2010-06-16 7:20 ` Jun Koi
2010-06-16 7:40 ` [Qemu-devel] " Jan Kiszka
2010-06-16 7:43 ` Jun Koi
2010-06-16 7:49 ` Jan Kiszka
2010-06-16 7:54 ` Jun Koi
2010-06-16 8:02 ` Jan Kiszka
2010-06-16 9:14 ` malc
2010-06-16 9:34 ` Jan Kiszka
2010-06-16 9:41 ` malc
2010-06-16 9:43 ` malc
2010-06-16 10:03 ` Gleb Natapov [this message]
2010-06-16 8:07 ` [Qemu-devel] " Alfredo Mungo
2016-08-17 9:56 ` T. Huth
[not found] <00163649a20d7ed8cb048920f1e0@google.com>
2010-06-16 7:55 ` [Qemu-devel] " Jan Kiszka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100616100333.GE21797@redhat.com \
--to=gleb@redhat.com \
--cc=chimeranet89@gmail.com \
--cc=jan.kiszka@web.de \
--cc=junkoi2004@gmail.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.