While not an answer, it might help - I wrote a how-to use gdb with rump and xen. I had a similar issue in my program and plan to use gdb to debug it next week
https://github.com/emc-advanced-dev/unik/blob/master/docs/debug/aws.md It's geared towards our project, but with small adaptations can be used in a general use case On Aug 6, 2016 12:03 AM, "Myungho Jung" <[email protected]> wrote: > Hello all, > > While porting an application to rump, I got stuck in an error shown below. > > ------------------------------------------------------------ > ------------------------------------------- > Page fault at linear address 0xc, rip 0x103a0143, regs 0x30fc458, sp > 0x30fc500, our_sp 0x30fc440, code 0 > Thread: lwp > RIP: e030:[<00000000103a0143>] > RSP: e02b:00000000030fc500 EFLAGS: 00010206 > RAX: 000000000388c8e0 RBX: 000000000388c8e0 RCX: 00000000081314a8 > RDX: 0000000000000000 RSI: 00000000081314a8 RDI: 0000000002d70800 > RBP: 00000000030fc5d0 R08: 0000000000000072 R09: 00000000ffffffff > R10: 00000000015f8be0 R11: 00000000103a0130 R12: 0000000000000000 > R13: 00000000030fc568 R14: 0000000000000000 R15: 0000000002d70800 > base is 0x30fc5d0 caller is 0x10008271 > > 30fc4f0: 00 c5 0f 03 00 00 00 00 2b e0 00 00 00 00 00 00 > 30fc500: a8 14 13 08 00 00 00 00 15 96 04 10 00 00 00 00 > 30fc510: 50 5c b5 0a 00 00 00 00 28 c5 0f 03 00 00 00 00 > 30fc520: 00 00 00 00 fe ff ff ff 00 ad 5f 01 00 00 00 00 > > 30fc5c0: 68 c5 0f 03 00 00 00 00 e8 c5 0f 03 00 00 00 00 > 30fc5d0: 38 c6 0f 03 00 00 00 00 71 82 00 10 00 00 00 00 > 30fc5e0: 30 13 13 08 00 00 00 00 00 13 13 08 00 00 00 00 > 30fc5f0: c0 0f 13 08 00 00 00 00 f8 c5 0f 03 00 00 00 00 > > 103a0130: 89 84 24 00 a0 fe ff 55 48 83 ec 50 48 89 34 24 > 103a0140: 4c 8b f2 44 8b 42 0c 41 8b 58 0c 8b 7e 10 44 8b > 103a0150: 57 0c 44 89 54 24 14 44 8b 4e 0c 8b eb 41 03 e9 > 103a0160: 44 8b dd 44 2b 5c 24 14 45 85 db 7f 71 41 8b 68 > Pagetable walk from virt c, base 1b4c000: > L4 = 000000011a34d067 (0x1b4d000) [offset = 0] > L3 = 000000011a34e067 (0x1b4e000) [offset = 0] > L2 = 000000011a34f067 (0x1b4f000) [offset = 0] > L1 = 0000000000000000 [offset = 0] > > ------------------------------------------------------------ > ------------------------------------------- > > I'm testing the program with xen because I could not scroll the screen > when using kvm or qemu. Is there a way to scroll screen in the qemu window? > Keyboard and mouse are not working in that window. I'm using Ubuntu 16.04. > > I searched addresses of symbols close to the instruction pointer but the > RIP is much higher than any symbols in binary. Does anyone assume that > where can I get some hint from the message? The same message is shown > almost every time at the same point but could not backtrace after > do_page_fault(). The stack and address values are fixed for each test > except RIP. RIP changes a little bit every time. > > Can I trace rumprun application using Valgrind or Helgrind? It is > multi-threaded program, so helgrind will be helpful. > > > Thanks, > Myungho > >
