Linux gs:0x10分段错误

Linux gs:0x10分段错误,linux,x86,segmentation-fault,Linux,X86,Segmentation Fault,出于某种原因,我的程序在此行收到SIGSEV错误: mov edi, DWORD PTR gs:[eax-0x71] 其中: eax - 0x71 = 0x9881668 [0x9881668] = 0x00000010 gs = 0x33 edi应该包含_kernel_vsyscall的地址,但是…出现了一些问题。发生了什么事?这是Ubuntu 11.10 BTW.< /P>是C或C++(或其他语言)源文件的代码部分,还是直接在汇编程序中编程?无论是哪种语言

出于某种原因,我的程序在此行收到SIGSEV错误:

    mov edi, DWORD PTR gs:[eax-0x71]
其中:

    eax - 0x71 = 0x9881668
    [0x9881668] = 0x00000010
    gs = 0x33

edi应该包含_kernel_vsyscall的地址,但是…出现了一些问题。发生了什么事?这是Ubuntu 11.10 BTW.< /P>是C或C++(或其他语言)源文件的代码部分,还是直接在汇编程序中编程?无论是哪种语言,您都可以展示更多的周边代码,以帮助我们更好地了解您要做的事情。这是直接在汇编中实现的。为了便于学习,我正在尝试设置对_kernel_syscall的间接调用,而分段错误只发生在这一行的上下文中。我不知道我是否因为一些奇怪的原因不能将gs:0x10移动到edi中,但是sigsev的原因要么是非常明显的,要么是难以置信的神秘。不知道是哪一个。