我的程序如何附加正在运行的程序?像gdb那样。在linux中

时间:2011-03-24 02:31:39

标签: c++ c linux gdb

我想知道gdb如何在linux(* nix)中附加正在运行的程序?

我有windows“钩”编程经验。 在Windows上,我可以在程序(或任何程序)的某些事件中注册“Hook”,当事件发生时(例如鼠标单击),OS将我的hook-dll注入该程序的进程空间并调用我的回调函数。然后我的程序附加一个正在运行的程序,并可以访问附加程序的数据和函数。

linux如何做?它与Windows类似吗?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

看起来是通过ptrace()函数。虽然,我从来没有玩过它。