Pre-Ptrace linux gdb断点是如何工作的?
如果我理解正确的话,linux gdb断点现在可以通过在操作码被命中时用“int 3”和ptracing覆盖操作码来工作。Pre-Ptrace linux gdb断点是如何工作的?,linux,assembly,gdb,breakpoints,ptrace,Linux,Assembly,Gdb,Breakpoints,Ptrace,如果我理解正确的话,linux gdb断点现在可以通过在操作码被命中时用“int 3”和ptracing覆盖操作码来工作。 Ptrace并不是永远存在的。在将ptrace引入内核之前,断点是如何工作的?我不同意您的假设:ptrace几乎永远存在: ptrace是在第七版Unix[1979]中首次实现的,并已存在 在Unix的SVr4[1989]和4.3BSD[1986]分支中 (来源:维基百科“ptrace”,我添加了年份) gdb最初发布于1986年 就Linux而言,ptrace自Linux
Ptrace并不是永远存在的。在将ptrace引入内核之前,断点是如何工作的?我不同意您的假设:
ptrace
几乎永远存在:
ptrace是在第七版Unix[1979]中首次实现的,并已存在
在Unix的SVr4[1989]和4.3BSD[1986]分支中
(来源:维基百科“ptrace”,我添加了年份)
gdb最初发布于1986年
就Linux而言,ptrace
自Linux 1.0以来一直是一个系统调用-您可以在man 2系统调用
中找到初始版本
(我知道这并不能回答“如何在没有ptrace的情况下进行调试”的问题,我很乐意在一个更具技术性的答案出现时将其删除,但在此之前,我认为这提供了一些相关的历史观点。)我不得不不同意您的假设:
ptrace
几乎永远存在:
ptrace是在第七版Unix[1979]中首次实现的,并已存在
在Unix的SVr4[1989]和4.3BSD[1986]分支中
(来源:维基百科“ptrace”,我添加了年份)
gdb最初发布于1986年
就Linux而言,ptrace
自Linux 1.0以来一直是一个系统调用-您可以在man 2系统调用
中找到初始版本
(我知道这并不能回答“如何在没有ptrace的情况下进行调试”的问题,我很乐意在一个更具技术性的答案出现时将其删除,但在此之前,我认为这提供了一些相关的历史观点。)我不得不不同意您的假设:
ptrace
几乎永远存在:
ptrace是在第七版Unix[1979]中首次实现的,并已存在
在Unix的SVr4[1989]和4.3BSD[1986]分支中
(来源:维基百科“ptrace”,我添加了年份)
gdb最初发布于1986年
就Linux而言,ptrace
自Linux 1.0以来一直是一个系统调用-您可以在man 2系统调用
中找到初始版本
(我知道这并不能回答“如何在没有ptrace的情况下进行调试”的问题,我很乐意在一个更具技术性的答案出现时将其删除,但在此之前,我认为这提供了一些相关的历史观点。)我不得不不同意您的假设:
ptrace
几乎永远存在:
ptrace是在第七版Unix[1979]中首次实现的,并已存在
在Unix的SVr4[1989]和4.3BSD[1986]分支中
(来源:维基百科“ptrace”,我添加了年份)
gdb最初发布于1986年
就Linux而言,ptrace
自Linux 1.0以来一直是一个系统调用-您可以在man 2系统调用
中找到初始版本
(我知道这并没有回答“在没有ptrace的情况下如何调试”的问题,我很乐意在一个更技术性的答案出现时删除它,但在此之前,我认为这提供了一些相关的历史观点。)