Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.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
C++ 从c/c+中断/调试其他用户进程+;在unix上_C++_C_Macos_Unix_Gdb - Fatal编程技术网

C++ 从c/c+中断/调试其他用户进程+;在unix上

C++ 从c/c+中断/调试其他用户进程+;在unix上,c++,c,macos,unix,gdb,C++,C,Macos,Unix,Gdb,正如标题所说,我正在寻找一种方法,从c/c++应用程序中设置其他进程的断点,最好是通过一些现有的库,并在触发这些断点时做出反应(而不中断主机进程) 最终目标是一个小型且非常通用的脚本引擎,可跨unices移植,用于用户陆地进程 那么,有没有人对如何实现这一点有想法,或者听说过类似的项目或功能?如果我的一般方法不可行,我很乐意接受关于如何以另一种方式实现这一点的反馈 编辑:根据SO标准,具体问题是断点/进程交互是否可以通过库或c/c++中的unix系统调用使用 具体的问题是断点/进程交互是否可以通

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

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

那么,有没有人对如何实现这一点有想法,或者听说过类似的项目或功能?如果我的一般方法不可行,我很乐意接受关于如何以另一种方式实现这一点的反馈

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

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

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

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

我希望在实现任何可编写脚本且通常有用的东西之前,您必须实现大约50%的GDB,因此更好的方法可能是从GDB开始,并使用其内置的python脚本

ptrace
相比,还有一些特定于平台的改进(Solaris在
/procfs
方面实现了
ptrace
;Linux有
utrace
,尽管它似乎是死胎)

您还可以查看Linux特有的
frysk
,了解一些想法

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

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

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

我希望在实现任何可编写脚本且通常有用的东西之前,您必须实现大约50%的GDB,因此更好的方法可能是从GDB开始,并使用其内置的python脚本

ptrace
相比,还有一些特定于平台的改进(Solaris在
/procfs
方面实现了
ptrace
;Linux有
utrace
,尽管它似乎是死胎)


您还可以查看Linux特有的
frysk
,了解一些想法。

您可以使用gdb。它可以集成,这是大多数IDE所做的。谢谢你的帮助!对于感兴趣的用户,我也在寻找类似的功能。您可以使用gdb。它可以集成,这是大多数IDE所做的。谢谢你的帮助!对于感兴趣的用户,我也在寻找类似的功能。
frysk
上的提示非常棒!frysk上的提示非常棒!