菜鸟教程小白 发表于 2022-12-13 13:16:15

ios - osx上的 ‘I Space’和 ‘D Space’是什么以及它们之间的区别


                                            <p><p>在 sys/ptrace.h 中,我看到了类似的内容:</p>

<pre><code>@define PT_READ_I1 /* read world in child&#39;s I space*/
@define PT_READ_D2 /* read world in child&#39;s D space*/
@define PT_READ_U3 /* read world in child&#39;s user structure*/
</code></pre>

<p>什么是“I Space”和“D Space”以及“用户结构”?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>引用手册页:</p>

<blockquote>
<p>Traditionally, ptrace() has
                     allowed for machines with distinct address spaces for
                     instruction and data, which is why there are two requests:
                     conceptually, PT_READ_I reads from the <strong>instruction space</strong>
                     and PT_READ_D reads from the <strong>data space</strong>.In the current
                     NetBSD implementation, these two requests are <strong>completely
                     identical.</strong></p>
</blockquote>

<p>现在关于 PT_READ_U:</p>

<blockquote>
<p>This space contains the registers andotherinformationaboutthe
         process; its layout corresponds to the <strong>user structure</strong> in the system.</p>
</blockquote></p>
                                   
                                                <p style="font-size: 20px;">关于ios - osx上的 ‘I Space’和 ‘D Space’是什么以及它们之间的区别,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/10187624/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/10187624/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - osx上的 ‘I Space’和 ‘D Space’是什么以及它们之间的区别