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 (2502B)


      1.. SPDX-License-Identifier: GPL-2.0
      2
      3.. include:: ../disclaimer-zh_TW.rst
      4
      5:Original: :doc:`../../../admin-guide/bug-bisect`
      6
      7:譯者:
      8
      9 吳想成 Wu XiangCheng <bobwxc@email.cn>
     10 胡皓文 Hu Haowen <src.res@email.cn>
     11
     12二分(bisect)缺陷
     13+++++++++++++++++++
     14
     15(英文版)最後更新:2016年10月28日
     16
     17引言
     18=====
     19
     20始終嘗試由來自kernel.org的原始碼構建的最新內核。如果您沒有信心這樣做,請將
     21錯誤報告給您的發行版供應商,而不是內核開發人員。
     22
     23找到缺陷(bug)並不總是那麼容易,不過仍然得去找。如果你找不到它,不要放棄。
     24儘可能多的向相關維護人員報告您發現的信息。請參閱MAINTAINERS文件以了解您所
     25關注的子系統的維護人員。
     26
     27在提交錯誤報告之前,請閱讀「Documentation/admin-guide/reporting-issues.rst」。
     28
     29設備未出現(Devices not appearing)
     30====================================
     31
     32這通常是由udev/systemd引起的。在將其歸咎於內核之前先檢查一下。
     33
     34查找導致缺陷的補丁
     35===================
     36
     37使用 ``git`` 提供的工具可以很容易地找到缺陷,只要缺陷是可復現的。
     38
     39操作步驟:
     40
     41- 從git原始碼構建內核
     42- 以此開始二分 [#f1]_::
     43
     44	$ git bisect start
     45
     46- 標記損壞的變更集::
     47
     48	$ git bisect bad [commit]
     49
     50- 標記正常工作的變更集::
     51
     52	$ git bisect good [commit]
     53
     54- 重新構建內核並測試
     55- 使用以下任一與git bisect進行交互::
     56
     57	$ git bisect good
     58
     59  或::
     60
     61	$ git bisect bad
     62
     63  這取決於您測試的變更集上是否有缺陷
     64- 在一些交互之後,git bisect將給出可能導致缺陷的變更集。
     65
     66- 例如,如果您知道當前版本有問題,而4.8版本是正常的,則可以執行以下操作::
     67
     68	$ git bisect start
     69	$ git bisect bad                 # Current version is bad
     70	$ git bisect good v4.8
     71
     72
     73.. [#f1] 您可以(可選地)在開始git bisect的時候提供good或bad參數
     74         ``git bisect start [BAD] [GOOD]``
     75
     76如需進一步參考,請閱讀:
     77
     78- ``git-bisect`` 的手冊頁
     79- `Fighting regressions with git bisect(用git bisect解決回歸)
     80  <https://www.kernel.org/pub/software/scm/git/docs/git-bisect-lk2009.html>`_
     81- `Fully automated bisecting with "git bisect run"(使用git bisect run
     82  來全自動二分) <https://lwn.net/Articles/317154>`_
     83- `Using Git bisect to figure out when brokenness was introduced
     84  (使用Git二分來找出何時引入了錯誤) <http://webchick.net/node/99>`_
     85