1

正如标题所说,我正在寻找一种方法来从 ac/c++ 应用程序中的其他进程上设置断点,最好是通过一些现有的库,并在触发这些断点时做出反应(不中断主机进程)。

最终目标是一个小型且非常通用的脚本引擎,可跨单元移植,用于用户域进程。

那么,是否有人对如何实现这一点有想法,或者听说过类似的项目或功能?如果我的一般方法不可行,我很乐意就如何以另一种方式实现这一目标提出反馈。

编辑:按照 SO 标准,具体问题是断点/进程交互是否可以通过库或 c/c++ 中的 unix 系统调用获得。

4

1 回答 1

1

具体问题是断点/进程交互是否可以通过库或 c/c++ 中的 unix 系统调用获得。

是的:ptrace是唯一可移植的 Unix 系统调用。

您会很快发现,要使用它做任何有用的事情,您必须编写大量代码。

我希望您必须先实现约 50% 的 GDB,然后才能拥有任何可编写脚本且通常有用的东西,因此更好的方法可能是从 GDB开始,并改用其内置的 python 脚本。

在 , 上也有特定于平台的改进ptrace(Solarisptrace/procfs; Linux 方面实现了utrace,尽管它似乎是死胎)。

您还可以查看特定于 Linux 的frysk想法。

于 2012-07-03T12:23:30.830 回答