hbreak works!

 I can catch the breakpoint when I use hbreak cmd.

Thanks alot for your help!


On Mon, Dec 2, 2019 at 1:45 PM Mcleod, Kent (Data61, Kensington NSW) <Kent.Mcleod@data61.csiro.au> wrote:
Does it work if you try using hardware breakpoints? The camkes-vm-linux tutorial uses hardware virtualisation via kvm so the software breakpoints likely won't work.  Replacing break with hbreak may fix your issue.

From: Devel <devel-bounces@sel4.systems> on behalf of Jiusheng Liu <liujiusheng@gmail.com>
Sent: Wednesday, 27 November 2019 1:51 PM
To: devel@sel4.systems <devel@sel4.systems>
Subject: [seL4] Userspace debugging with QEMU/gdb
 
Hi,

>From the page https://docs.sel4.systems/DebuggingGuide.html (section Userspace debugging), I know we can debug userspace process by command below:

---------------------------- cmd example start ----------------------------------------
gdb ./dynamic-2
Reading symbols from ./dynamic-2...done.
(gdb) target remote :1234
Remote debugging using :1234
0x000000000000fff0 in ?? ()
(gdb) break main
Breakpoint 1 at 0x402011: file sel4-tutorials-manifest/dynamic-2/main.c, line 161.
(gdb) c
Continuing.

Breakpoint 1, main () at sel4-tutorials-manifest/dynamic-2/main.c:161
161
(gdb)
---------------------------- cmd example end  ---------------------------------------- 

It works for normal userspace process (such as the example code in tutorials:  https://docs.sel4.systems/Tutorials/dynamic-2.html ). 

But when I want to debug the userspace process for the code in the tutorials page https://docs.sel4.systems/Tutorials/camkes-vm-linux.html (one virtual machine in seL4), I cannot catch the breakpoints.

So can you help me to explain why I cannot catch the breakpoint? and can we debug the vmm create process with qemu/gdb?

Thanks.