dotgnu-libjit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dotgnu-libjit] How Do I Debug a Memory Protection Error?


From: Klaus Treichel
Subject: Re: [Dotgnu-libjit] How Do I Debug a Memory Protection Error?
Date: Sat, 16 Oct 2010 18:47:22 +0200

Hi Noah,

> > What does the address look like on which the bus error is raised?
> > The OS X abi for x86_64 should be SysV abi or do you know about any
> > differences?
> 
> The address is 0x00000001007bb480.
> 
> > Does gdb print the contents of the address?
> > like with print *(char *)(address)
> >
> > Enter the command "display /8i $pc" in gdb before running the faulting
> > program and run it to get the assembly instructions where the error
> > actually happens.
> 
> It looks like the assembly is
> 
> 0x1007bb480:  add    %bl,0x10070(%rsi)
> 0x1007bb486:  add    %al,(%rax)
> 0x1007bb488:  add    %al,(%rax)
> 0x1007bb48a:  add    %al,(%rax)
> 0x1007bb48c:  add    %al,(%rax)
> 0x1007bb48e:  add    %al,(%rax)
> 0x1007bb490:  xorb   $0x0,0x1007b(%rax)
> 0x1007bb497:  add    %al,(%rax)
> 
> So unless I misunderstand things, this looks like memory that never
> had code put in it, which means the error is that a pointer was
> changed somewhere. Is this accurate?
> 
It looks like the region doesn't contain any code.

What does a backtrace display at this point?

And what's the contents of the registers?

Cheers,
Klaus

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]