腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
3
回答
使用
ptrace
跟踪
子
进程中
的
所有
execve
()
调用
、
、
、
我正在尝试在Linux CentOS上写一个工具来
跟踪
所有
衍生
的
进程和正在运行
的
进程。本质上,我感兴趣
的
是遍历
所有
分支/克隆,并从
execve
()发出
所有
命令行。Strace已经做到了这一点,但它也会截断
调用
和参数。我还想更好地了解
ptrace
()是如何工作
的
。 因此,第一个障碍是找出如何
使用
ptrace
()遍历分支/克隆,而不让
跟踪<
浏览 0
提问于2011-03-16
得票数 12
1
回答
使tracee停止
的
条件,即使它
的
父程序不需要它
、
、
、
我试图学习
使用
ptrace
,我编写了一个简单
的
程序集存根,1/
调用
ptrace
(0,0,0,0) ( syscall,而不是libc函数)。然后显示你好世界,然后生成一个壳。我从bash shell运行我
的
代码。Hello被显示,但是我
的
进程在
execve
(/bin/sh) (我得到背景进程
的
bash通知)之前停止了,是因为
ptrace
吗?
浏览 1
提问于2021-12-15
得票数 0
回答已采纳
2
回答
ptrace
如何捕获fork
的
系统
调用
?
、
、
、
我尝试
使用
ptrace
来捕获
子
进程系统
调用
id,比如
execve
(11)或fork(2)。#include <sys/reg.h>#include <sys/wait.h> #include(
PTRACE
_PEEKUSER, pid, 4 * ORI
浏览 0
提问于2013-12-07
得票数 0
2
回答
PTRACE
_O_TRACEEXEC和它
的
缺失有什么区别?
、
根据
ptrace
手册页面, 在下一次执行时停止
跟踪
器(2)。
跟踪
器将返回一个状态值,例如status>>8 == (SIGTRAP | (
PTRACE
_EVENT_EXEC<<8))。如果执行线程不是线程组
浏览 11
提问于2014-08-18
得票数 4
4
回答
为什么vfork或fork
的
子类应该
调用
_exit()而不是exit()?
、
、
、
来自vfork()
的
手册页: vfork()与fork()
的
不同之处在于,在
子
节点
调用
execve
(2)或_exit(2)之前,父
节点
被挂起。
子
节点
与其父
节点
共享
所有
内存,包括堆栈,直到由
子
节点
发出
execve
()为止。子函数不能从当前函数返回,也不能
调用
exit(),但可以
调用
_exit()。为什么孩子应该<
浏览 0
提问于2011-01-03
得票数 13
回答已采纳
1
回答
ptrace
和线程
、
、
、
、
通过在我
的
应用程序中
调用
waitpid,我可以在观察应用程序中获得以下信号: SIGSTOP从父中形成
子
processSIGTRAP。为了
跟踪
所有
的孩子,我用
PTRACE
_O_TRACEFORK,
PTRACE
_O_TRACEVFORK,
PTRACE
_O_TRACECLONE和
PTRACE
_O_TRACEEXIT建立了
跟踪
。虽然
所有
的
子
进程都运行得很好,但我无法观察应用程序
的
浏览 2
提问于2011-09-02
得票数 16
回答已采纳
1
回答
使用
`
PTRACE
_TRACEME`
跟踪
时禁用分叉进程上
的
SIGSTOP停止
、
根据
ptrace
文档。 在下一个clone(2)停止tracee,并自动开始
跟踪
新克隆
的
进程,如果
使用
PTRACE
_SEIZE,将以SIGSTOP或
PTRACE
_EVENT_STOP开始。问题是,SIGSTOP可能根本不是由
ptrace
引起
的
--甚至用户也可以将此信号发送到进程。在这种情况下,
PTRACE
_EVENT_STOP停止
的
子
进程将是非常完美的。我自己正在生成一个
子
进程,
浏览 5
提问于2017-08-03
得票数 0
1
回答
Linux进程和线程调度
、
、
、
我正在尝试linux
的
调度,并遇到了一些问题。谢谢!
浏览 0
提问于2012-10-25
得票数 1
回答已采纳
3
回答
strace -f strace /bin/ls失败,返回
PTRACE
_TRACEME EPERM (不允许操作)
、
当我跑
的
时候要了解strace是如何
使用
它失败
的
即使
使用
超级用户帐户。
浏览 0
提问于2015-12-22
得票数 14
1
回答
为什么SIGINT被发送到
子
进程而不执行任何操作?
、
、
、
、
我想要做
的
是,当调试器进程(从现在开始PDB)接受一个SIGINT信号,将其传递给
子
进程(PDB实际正在调试
的
那个进程)。(
PTRACE
_TRACEME,0, NULL,NULL); {} 这个程序运行和派生一个
子
进程,并执行一个程序来
跟踪
它
的
系统
调用
。它
跟踪
的</e
浏览 0
提问于2013-04-20
得票数 1
回答已采纳
1
回答
无法
跟踪
子
进程
的
系统,后者
使用
ptrace
和seccomp
调用
execve
、
我不改变系统
调用
中
的
任何内容,我只是将其记录在我
的
结构中,当进程完成时-我将该结构转储到磁盘上。但是,如果我试图
跟踪
一个
调用
内部
execve
的
程序,它会失败: env:加载共享库时出错任何其他程序都可以正常工作,所以我想问题是将seccomp过滤器复制到
调用
execve
的
分叉进
浏览 0
提问于2019-05-07
得票数 3
回答已采纳
1
回答
如何
跟踪
输入命令后
调用
的
系统
调用
?
、
、
这个问题与我早些时候发布
的
“当我们在shell上输入一个简单
的
命令时,会发生什么?”相关。(我想把它分开寄比较好。但如果没有,请告诉我。)我从前一个问题中了解到,shell内置命令是特殊处理
的
,正常
的
外部命令是在
子
进程上执行
的
。 这一次,我希望
跟踪
系统
调用
,如叉、克隆或
execve
,以监视输入命令后实际发生
的
情况。但是,只有这样执行
execve
("bin/ls",,,)
浏览 0
提问于2014-04-07
得票数 5
1
回答
进程相互
跟踪
、
我试图创建一个
子
进程,并要求它
的
父母
跟踪
他。在此之后,
子
节点
尝试将其附加到其父
节点
。由于一些保护原因,进程只能
跟踪
它们
的
子
进程,所以我必须
使用
sudo执行我
的
代码。我
的
输出仅为Child is traced,因此我假设子程序不附加到父程序。("Child is traced\n"); if(<e
浏览 0
提问于2016-03-29
得票数 1
回答已采纳
1
回答
Ptrace
在
子
进程中读取errno值
、
、
、
、
在strace
跟踪
的
进程中,如何从失败
的
系统
调用
中获取errno?如果我
使用
ptrace
跟踪
一个进程
的
系统
调用
,我如何读取被
跟踪
进程中errno
的
值?更具体地说,如何在
子
进程中
浏览 29
提问于2020-03-12
得票数 4
2
回答
编写最简单
的
程序集调试器
、
、
、
、
假设我有下面的汇编代码,我想一步一步地完成:_start: mov $60, %eax什么是最简单
的
方式,我可以附加一个
ptrace
我通常是在gdb中这样做
的
,但我很好奇如何以最简单
的
方式(除了上面的情况之外,没有错误处理或其他任何事情)手动完成这一操作,以查看幕后发生了什么。任何语言都可以(不过汇编可能是最好
的
)。
浏览 4
提问于2020-09-22
得票数 1
回答已采纳
3
回答
线程可以
跟踪
进程吗?
、
、
、
我有一个多线程进程,它必须控制另一个进程
的
执行。要做到这一点,我
使用
Ptrace
的
线程之一。这就是tracee是如何创建和启动
的
。(
PTRACE
_TRACEME, 0, NULL, NULL); return -1; break;这就是进程
的
运行方式。while (1) {
ptrace
浏览 5
提问于2013-09-11
得票数 5
回答已采纳
1
回答
使用
ptrace
进行调试并不总是成功找到进程。
、
、
、
、
我在玩
ptrace
和一些很奇怪
的
事情。我
调用
执行子程序(tracee)程序
的
父程序(tracer),然后我
使用
PTRACE
_SINGLESTEP来监视每条指令,并且我注意到一些
调用
失败,直到
所有
这些
调用
都失败后才找到错误进程。顺便说一句,如果父母有X组,X
所有
者,而
子
组有Y组,Y
所有
者。如果父级将开始
跟踪
他,则
子
权限将不会更改为X,对吗?unsi
浏览 11
提问于2022-10-27
得票数 1
回答已采纳
1
回答
跟踪
进程和
所有
分叉进程
的
系统
、
、
、
、
我
使用
ptrace
来
跟踪
进程
的
系统。分叉处理后,我
使用
PTRACE
_TRACEME开始
跟踪
该进程。the syscall
ptrace
(
PTRACE
_SYSCALL, pid, NULL, NULL); 这一切都很好,但是如果程序分叉(或创建一个新线程),我也希望
跟踪
跟踪
进程创建
的
子
进程我知道可以<em
浏览 5
提问于2012-11-23
得票数 9
1
回答
如何用
ptrace
跳过系统
调用
?
、
、
、
我正试图用
ptrace
编写一个程序来
跟踪
一个子程序所做
的
所有
系统
调用
。当前,每当
子
进程进入或退出系统
调用
(
PTRACE
_
浏览 0
提问于2016-08-26
得票数 4
1
回答
从另一个线程中提取一个线程
、
尝试
使用
ptrace
()系统
调用
,我试图
跟踪
同一进程
的
另一个线程。根据手册页,
跟踪
程序和tracee都是特定
的
线程(而不是进程),所以我看不出为什么它不能工作。到目前为止,我尝试了以下几点:
使用
PTRACE
_TRACEME:
调用
成功,但不执行我想做
的
事情,可能是因为要
跟踪
的
线程
的
父线程不是名为clone()
的
线程。从父线程
浏览 4
提问于2014-06-11
得票数 13
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
云直播
活动推荐
运营活动
广告
关闭
领券