Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pre-Ptrace linux gdb断点是如何工作的?_Linux_Assembly_Gdb_Breakpoints_Ptrace - Fatal编程技术网

Pre-Ptrace linux gdb断点是如何工作的?

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

如果我理解正确的话,linux gdb断点现在可以通过在操作码被命中时用“int 3”和ptracing覆盖操作码来工作。
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的情况下如何调试”的问题,我很乐意在一个更技术性的答案出现时删除它,但在此之前,我认为这提供了一些相关的历史观点。)