qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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.

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).