xref: /linux/Documentation/translations/zh_TW/admin-guide/bug-bisect.rst (revision 06d07429858317ded2db7986113a9e0129cd599b)
176f1fc26SHu Haowen.. SPDX-License-Identifier: GPL-2.0
276f1fc26SHu Haowen
376f1fc26SHu Haowen.. include:: ../disclaimer-zh_TW.rst
476f1fc26SHu Haowen
576f1fc26SHu Haowen:Original: :doc:`../../../admin-guide/bug-bisect`
676f1fc26SHu Haowen
776f1fc26SHu Haowen:譯者:
876f1fc26SHu Haowen
976f1fc26SHu Haowen 吳想成 Wu XiangCheng <bobwxc@email.cn>
10*335bbdf0SHu Haowen 胡皓文 Hu Haowen <2023002089@link.tyut.edu.cn>
1176f1fc26SHu Haowen
1276f1fc26SHu Haowen二分(bisect)缺陷
1376f1fc26SHu Haowen+++++++++++++++++++
1476f1fc26SHu Haowen
1576f1fc26SHu Haowen(英文版)最後更新:2016年10月28日
1676f1fc26SHu Haowen
1776f1fc26SHu Haowen引言
1876f1fc26SHu Haowen=====
1976f1fc26SHu Haowen
20f949cb75SHu Haowen始終嘗試由來自kernel.org的源代碼構建的最新內核。如果您沒有信心這樣做,請將
2176f1fc26SHu Haowen錯誤報告給您的發行版供應商,而不是內核開發人員。
2276f1fc26SHu Haowen
2376f1fc26SHu Haowen找到缺陷(bug)並不總是那麼容易,不過仍然得去找。如果你找不到它,不要放棄。
24f949cb75SHu Haowen儘可能多的向相關維護人員報告您發現的信息。請參閱MAINTAINERS文件以瞭解您所
2576f1fc26SHu Haowen關注的子系統的維護人員。
2676f1fc26SHu Haowen
27f949cb75SHu Haowen在提交錯誤報告之前,請閱讀“Documentation/admin-guide/reporting-issues.rst”。
2876f1fc26SHu Haowen
2976f1fc26SHu Haowen設備未出現(Devices not appearing)
3076f1fc26SHu Haowen====================================
3176f1fc26SHu Haowen
3276f1fc26SHu Haowen這通常是由udev/systemd引起的。在將其歸咎於內核之前先檢查一下。
3376f1fc26SHu Haowen
3476f1fc26SHu Haowen查找導致缺陷的補丁
3576f1fc26SHu Haowen===================
3676f1fc26SHu Haowen
3776f1fc26SHu Haowen使用 ``git`` 提供的工具可以很容易地找到缺陷,只要缺陷是可復現的。
3876f1fc26SHu Haowen
3976f1fc26SHu Haowen操作步驟:
4076f1fc26SHu Haowen
41f949cb75SHu Haowen- 從git源代碼構建內核
4276f1fc26SHu Haowen- 以此開始二分 [#f1]_::
4376f1fc26SHu Haowen
4476f1fc26SHu Haowen	$ git bisect start
4576f1fc26SHu Haowen
4676f1fc26SHu Haowen- 標記損壞的變更集::
4776f1fc26SHu Haowen
4876f1fc26SHu Haowen	$ git bisect bad [commit]
4976f1fc26SHu Haowen
5076f1fc26SHu Haowen- 標記正常工作的變更集::
5176f1fc26SHu Haowen
5276f1fc26SHu Haowen	$ git bisect good [commit]
5376f1fc26SHu Haowen
5476f1fc26SHu Haowen- 重新構建內核並測試
5576f1fc26SHu Haowen- 使用以下任一與git bisect進行交互::
5676f1fc26SHu Haowen
5776f1fc26SHu Haowen	$ git bisect good
5876f1fc26SHu Haowen
5976f1fc26SHu Haowen  或::
6076f1fc26SHu Haowen
6176f1fc26SHu Haowen	$ git bisect bad
6276f1fc26SHu Haowen
6376f1fc26SHu Haowen  這取決於您測試的變更集上是否有缺陷
6476f1fc26SHu Haowen- 在一些交互之後,git bisect將給出可能導致缺陷的變更集。
6576f1fc26SHu Haowen
6676f1fc26SHu Haowen- 例如,如果您知道當前版本有問題,而4.8版本是正常的,則可以執行以下操作::
6776f1fc26SHu Haowen
6876f1fc26SHu Haowen	$ git bisect start
6976f1fc26SHu Haowen	$ git bisect bad                 # Current version is bad
7076f1fc26SHu Haowen	$ git bisect good v4.8
7176f1fc26SHu Haowen
7276f1fc26SHu Haowen
7376f1fc26SHu Haowen.. [#f1] 您可以(可選地)在開始git bisect的時候提供good或bad參數
7476f1fc26SHu Haowen         ``git bisect start [BAD] [GOOD]``
7576f1fc26SHu Haowen
7676f1fc26SHu Haowen如需進一步參考,請閱讀:
7776f1fc26SHu Haowen
7876f1fc26SHu Haowen- ``git-bisect`` 的手冊頁
79f949cb75SHu Haowen- `Fighting regressions with git bisect(用git bisect解決迴歸)
8076f1fc26SHu Haowen  <https://www.kernel.org/pub/software/scm/git/docs/git-bisect-lk2009.html>`_
8176f1fc26SHu Haowen- `Fully automated bisecting with "git bisect run"(使用git bisect run
8276f1fc26SHu Haowen  來全自動二分) <https://lwn.net/Articles/317154>`_
8376f1fc26SHu Haowen- `Using Git bisect to figure out when brokenness was introduced
8476f1fc26SHu Haowen  (使用Git二分來找出何時引入了錯誤) <http://webchick.net/node/99>`_
8576f1fc26SHu Haowen
86