cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

bug-bisect.rst (2424B)


      1.. include:: ../disclaimer-zh_CN.rst
      2
      3:Original: :doc:`../../../admin-guide/bug-bisect`
      4
      5:译者:
      6
      7 吴想成 Wu XiangCheng <bobwxc@email.cn>
      8
      9二分(bisect)缺陷
     10+++++++++++++++++++
     11
     12(英文版)最后更新:2016年10月28日
     13
     14引言
     15=====
     16
     17始终尝试由来自kernel.org的源代码构建的最新内核。如果您没有信心这样做,请将
     18错误报告给您的发行版供应商,而不是内核开发人员。
     19
     20找到缺陷(bug)并不总是那么容易,不过仍然得去找。如果你找不到它,不要放弃。
     21尽可能多的向相关维护人员报告您发现的信息。请参阅MAINTAINERS文件以了解您所
     22关注的子系统的维护人员。
     23
     24在提交错误报告之前,请阅读“Documentation/admin-guide/reporting-issues.rst”。
     25
     26设备未出现(Devices not appearing)
     27====================================
     28
     29这通常是由udev/systemd引起的。在将其归咎于内核之前先检查一下。
     30
     31查找导致缺陷的补丁
     32===================
     33
     34使用 ``git`` 提供的工具可以很容易地找到缺陷,只要缺陷是可复现的。
     35
     36操作步骤:
     37
     38- 从git源代码构建内核
     39- 以此开始二分 [#f1]_::
     40
     41	$ git bisect start
     42
     43- 标记损坏的变更集::
     44
     45	$ git bisect bad [commit]
     46
     47- 标记正常工作的变更集::
     48
     49	$ git bisect good [commit]
     50
     51- 重新构建内核并测试
     52- 使用以下任一与git bisect进行交互::
     53
     54	$ git bisect good
     55
     56  或::
     57
     58	$ git bisect bad
     59
     60  这取决于您测试的变更集上是否有缺陷
     61- 在一些交互之后,git bisect将给出可能导致缺陷的变更集。
     62
     63- 例如,如果您知道当前版本有问题,而4.8版本是正常的,则可以执行以下操作::
     64
     65	$ git bisect start
     66	$ git bisect bad                 # Current version is bad
     67	$ git bisect good v4.8
     68
     69
     70.. [#f1] 您可以(可选地)在开始git bisect的时候提供good或bad参数
     71         ``git bisect start [BAD] [GOOD]``
     72
     73如需进一步参考,请阅读:
     74
     75- ``git-bisect`` 的手册页
     76- `Fighting regressions with git bisect(用git bisect解决回归)
     77  <https://www.kernel.org/pub/software/scm/git/docs/git-bisect-lk2009.html>`_
     78- `Fully automated bisecting with "git bisect run"(使用git bisect run
     79  来全自动二分) <https://lwn.net/Articles/317154>`_
     80- `Using Git bisect to figure out when brokenness was introduced
     81  (使用Git二分来找出何时引入了错误) <http://webchick.net/node/99>`_