Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.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
在strace中设置螺纹区域_C_Linux_Binary_Strace - Fatal编程技术网

在strace中设置螺纹区域

在strace中设置螺纹区域,c,linux,binary,strace,C,Linux,Binary,Strace,在程序上使用strace:strace在Debian和CentOS中输出相同的提取输出,但set_thread_区域除外。(两个Linux上的程序版本完全相同。) 为什么它们不同?有没有办法使两个Linux上的输出相同?这个差异可以用C语言编程吗?Debian/CentOS中是否缺少某些软件包 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7fb16c0, limit:1048575, seg_32bit:1, contents:0, r

在程序上使用strace:strace在Debian和CentOS中输出相同的提取输出,但set_thread_区域除外。(两个Linux上的程序版本完全相同。)

为什么它们不同?有没有办法使两个Linux上的输出相同?这个差异可以用C语言编程吗?Debian/CentOS中是否缺少某些软件包

set_thread_area({entry_number:-1 -> 6, base_addr:0xb7fb16c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 open("/dev/urandom", O_RDONLY) = 3 read(3, "\242\177)", 3) = 3 设置线程区域({entry_number:-1->6,base_addr:0xb7fb16c0,limit:1048575,seg_32位:1,contents:0,read_exec_only:0,limit_in_pages:1,seg_not_present:0,useable:1})=0 打开(“/dev/uradom”,O_RDONLY)=3 读(3,“\242\177)”,3)=3 设置螺纹面积(0xff9db33c)=0 编辑
第一:CentOS i686

第二:使用-m32编译的Debian x64,您是否询问地址不同的原因,或者为什么
strace
的输出格式不同?如果是后者,我怀疑您正在处理两个不同版本的
strace
,其中一个可能已经过时。然而,这一点看起来也很奇怪:

set_thread_area(0xff9db33c)             = 0

地址
0xff9db33c
绝对不是i386上的有效用户空间地址。您的一个系统可能是x86_64吗?这也解释了不同的格式,因为i386上的
set\u thread\u area
采用指向
struct ldt\u desc
的指针,而x86\u 64上只采用实际指针值加载到线程寄存器中。

您是否询问地址不同的原因,或者为什么
strace
的输出格式不同?如果是后者,我怀疑您正在处理两个不同版本的
strace
,其中一个可能已经过时。然而,这一点看起来也很奇怪:

set_thread_area(0xff9db33c)             = 0

地址
0xff9db33c
绝对不是i386上的有效用户空间地址。您的一个系统可能是x86_64吗?这也解释了不同的格式,因为i386上的
set\u thread\u area
采用指向
struct ldt\u desc
的指针,而x86\u 64上只采用实际指针值加载到线程寄存器中。

比较strace版本。并提供两个系统的更多详细信息,如cpu类型..比较strace版本。并提供有关这两个系统的更多详细信息,如cpu类型..我询问的是输出格式。为什么CentOS有urandom而Debian没有?嗯,
urandom
不属于
set\u thread\u区域
。这是另一回事。它出现在跟踪中的哪个点?我怀疑它设置了一个随机的金丝雀来进行堆栈破坏保护。我正在询问输出格式。为什么CentOS有urandom而Debian没有?嗯,
urandom
不属于
set\u thread\u区域
。这是另一回事。它出现在跟踪中的哪个点?我怀疑它设置了一个随机的金丝雀来保护堆叠。