Re: how to continue from a breakpoint in GNU/Hurd

Hui Zhu <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CANFwon2bJhHcohhX4EUjsp6Mr1NgRv84n2w_XFdwHtHqhkfabA@mail.gmail.com>
On Wed, Jul 17, 2013 at 12:45 AM, Yue Lu <[email protected]> wrote:
> Hi.
>
> I am writing a debugger demo under GNU/Hurd when I study the gdb
> source code. And I have met a big problem that when I set a breakpoint
> in the inferior, my code can't resume inferior from it.
>
> I can get the exception message from the mach kernel when the inferior
> hit the breakpoint. As soon as I got the exception message, I removed
> the int3, and set the EIP to the previous values,

I am not sure but I think you need care about this part is:
In x86, after the inferior is broken by int3, it will point to the
address after int3. So the right address to continue inferior is
eip-1.

Thanks,
Hui

then post a signal
> zero to the inferior by msg_sig_post_untraced_request(). at last I
> called thread_resume() to resume it. But thing goes wrong, the
> inferior is always stops at the breakpoint. and seems never to
> continue.
>
> I don't know how to fix this, could any of you give me a suggestion?
> thanks very much.
>
> --
> Yue Lu (陆岳)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.