Skip to content

Commit 0a96e75

Browse files
author
deployBot
committedJun 16, 2024·
Deploy at Sun Jun 16 09:07:47 UTC 2024
1 parent b7ce663 commit 0a96e75

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed
 

‎_sources/labs/introduction.rst.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ cscope 和 SourceWeb 之间的主要区别在于,SourceWeb 在某种程度上
211211
gdb(Linux)
212212
-----------
213213

214-
在 Linux 上,一种更简单但也具有许多缺点的调试方法是使用 `gdb <http://www.gnu.org/software/gdb/>`__ 进行本地调试,其中涉及到未压缩的内核镜像:file:`vmlinux`和文件::file:`/proc/kcore` 实时内核镜像。这种方法通常用于检查内核并在其运行时检测特定的不一致性。特别是如果内核是使用 :code:`-g` 选项编译的(该选项会保留调试信息)这种方法就非常有用。但是,这种方法无法使用一些常用的调试技术,例如数据修改的断点。
214+
在 Linux 上,一种更简单但也具有许多缺点的调试方法是使用 `gdb <http://www.gnu.org/software/gdb/>`__ 进行本地调试,其中涉及到未压缩的内核镜像 (:file:`vmlinux`) 和文件::file:`/proc/kcore` (实时内核镜像)。这种方法通常用于检查内核并在其运行时检测特定的不一致性。特别是如果内核是使用 :code:`-g` 选项编译的(该选项会保留调试信息)这种方法就非常有用。但是,这种方法无法使用一些常用的调试技术,例如数据修改的断点。
215215

216216
.. note:: 因为 :file:`/proc` 是一个虚拟文件系统,:file:`/proc/kcore` 在磁盘上并不存在。当程序尝试访问 :file:`/proc/kcore` 时,内核会即时生成它。它用于调试目的。
217217

‎labs/introduction.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ <h2>内核调试<a class="headerlink" href="#section-7" title="永久链接至
309309
<p>与调试程序相比,调试内核更加困难,因为操作系统没有提供支持。这就是为什么通常使用两台通过串行接口相互连接的计算机进行此过程。</p>
310310
<div class="section" id="gdb-linux">
311311
<span id="gdb-intro"></span><h3>gdb(Linux)<a class="headerlink" href="#gdb-linux" title="永久链接至标题"></a></h3>
312-
<p>在 Linux 上,一种更简单但也具有许多缺点的调试方法是使用 <a class="reference external" href="http://www.gnu.org/software/gdb/">gdb</a> 进行本地调试,其中涉及到未压缩的内核镜像<code class="file docutils literal"><span class="pre">vmlinux</span></code>和文件:<code class="file docutils literal"><span class="pre">/proc/kcore</span></code> 实时内核镜像。这种方法通常用于检查内核并在其运行时检测特定的不一致性。特别是如果内核是使用 <code class="code docutils literal"><span class="pre">-g</span></code> 选项编译的(该选项会保留调试信息)这种方法就非常有用。但是,这种方法无法使用一些常用的调试技术,例如数据修改的断点。</p>
312+
<p>在 Linux 上,一种更简单但也具有许多缺点的调试方法是使用 <a class="reference external" href="http://www.gnu.org/software/gdb/">gdb</a> 进行本地调试,其中涉及到未压缩的内核镜像 (<code class="file docutils literal"><span class="pre">vmlinux</span></code>) 和文件:<code class="file docutils literal"><span class="pre">/proc/kcore</span></code> (实时内核镜像)。这种方法通常用于检查内核并在其运行时检测特定的不一致性。特别是如果内核是使用 <code class="code docutils literal"><span class="pre">-g</span></code> 选项编译的(该选项会保留调试信息)这种方法就非常有用。但是,这种方法无法使用一些常用的调试技术,例如数据修改的断点。</p>
313313
<div class="admonition note">
314314
<p class="first admonition-title">注解</p>
315315
<p>因为 <code class="file docutils literal"><span class="pre">/proc</span></code> 是一个虚拟文件系统,<code class="file docutils literal"><span class="pre">/proc/kcore</span></code> 在磁盘上并不存在。当程序尝试访问 <code class="file docutils literal"><span class="pre">/proc/kcore</span></code> 时,内核会即时生成它。它用于调试目的。</p>

‎so2/lab1-intro.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1139,7 +1139,7 @@ <h2>内核调试<a class="headerlink" href="#section-20" title="永久链接至
11391139
<p>与调试程序相比,调试内核更加困难,因为操作系统没有提供支持。这就是为什么通常使用两台通过串行接口相互连接的计算机进行此过程。</p>
11401140
<div class="section" id="gdb-linux">
11411141
<span id="gdb-intro"></span><h3>gdb(Linux)<a class="headerlink" href="#gdb-linux" title="永久链接至标题"></a></h3>
1142-
<p>在 Linux 上,一种更简单但也具有许多缺点的调试方法是使用 <a class="reference external" href="http://www.gnu.org/software/gdb/">gdb</a> 进行本地调试,其中涉及到未压缩的内核镜像<code class="file docutils literal"><span class="pre">vmlinux</span></code>和文件:<code class="file docutils literal"><span class="pre">/proc/kcore</span></code> 实时内核镜像。这种方法通常用于检查内核并在其运行时检测特定的不一致性。特别是如果内核是使用 <code class="code docutils literal"><span class="pre">-g</span></code> 选项编译的(该选项会保留调试信息)这种方法就非常有用。但是,这种方法无法使用一些常用的调试技术,例如数据修改的断点。</p>
1142+
<p>在 Linux 上,一种更简单但也具有许多缺点的调试方法是使用 <a class="reference external" href="http://www.gnu.org/software/gdb/">gdb</a> 进行本地调试,其中涉及到未压缩的内核镜像 (<code class="file docutils literal"><span class="pre">vmlinux</span></code>) 和文件:<code class="file docutils literal"><span class="pre">/proc/kcore</span></code> (实时内核镜像)。这种方法通常用于检查内核并在其运行时检测特定的不一致性。特别是如果内核是使用 <code class="code docutils literal"><span class="pre">-g</span></code> 选项编译的(该选项会保留调试信息)这种方法就非常有用。但是,这种方法无法使用一些常用的调试技术,例如数据修改的断点。</p>
11431143
<div class="admonition note">
11441144
<p class="first admonition-title">注解</p>
11451145
<p>因为 <code class="file docutils literal"><span class="pre">/proc</span></code> 是一个虚拟文件系统,<code class="file docutils literal"><span class="pre">/proc/kcore</span></code> 在磁盘上并不存在。当程序尝试访问 <code class="file docutils literal"><span class="pre">/proc/kcore</span></code> 时,内核会即时生成它。它用于调试目的。</p>

0 commit comments

Comments
 (0)
Please sign in to comment.