.. SPDX-License-Identifier: GPL-2.0 .. include:: ../disclaimer-zh_TW.rst :Original: :doc:`../../../admin-guide/bug-bisect` :è¯è€…: 峿ƒ³æˆ Wu XiangCheng <bobwxc@email.cn> 胡皓文 Hu Haowen <2023002089@link.tyut.edu.cn> 二分(bisect)缺陷 +++++++++++++++++++ (英文版)最後更新:2016å¹´10月28æ—¥ 引言 ===== 始終嘗試由來自kernel.orgçš„æºä»£ç¢¼æ§‹å»ºçš„æœ€æ–°å…§æ ¸ã€‚如果您沒有信心這樣åšï¼Œè«‹å°‡ éŒ¯èª¤å ±å‘Šçµ¦æ‚¨çš„ç™¼è¡Œç‰ˆä¾›æ‡‰å•†ï¼Œè€Œä¸æ˜¯å…§æ ¸é–‹ç™¼äººå“¡ã€‚ 找到缺陷(bug)並ä¸ç¸½æ˜¯é‚£éº¼å®¹æ˜“,ä¸éŽä»ç„¶å¾—åŽ»æ‰¾ã€‚å¦‚æžœä½ æ‰¾ä¸åˆ°å®ƒï¼Œä¸è¦æ”¾æ£„。 儘å¯èƒ½å¤šçš„å‘相關ç¶è·äººå“¡å ±å‘Šæ‚¨ç™¼ç¾çš„ä¿¡æ¯ã€‚è«‹åƒé–±MAINTAINERS文件以çžè§£æ‚¨æ‰€ 關注的å系統的ç¶è·äººå“¡ã€‚ 在æäº¤éŒ¯èª¤å ±å‘Šä¹‹å‰ï¼Œè«‹é–±è®€â€œDocumentation/admin-guide/reporting-issues.rstâ€ã€‚ è¨å‚™æœªå‡ºç¾ï¼ˆDevices not appearing) ==================================== 這通常是由udev/systemd引起的。在將其æ¸å’Žæ–¼å…§æ ¸ä¹‹å‰å…ˆæª¢æŸ¥ä¸€ä¸‹ã€‚ æŸ¥æ‰¾å°Žè‡´ç¼ºé™·çš„è£œä¸ =================== 使用 ``git`` æä¾›çš„工具å¯ä»¥å¾ˆå®¹æ˜“地找到缺陷,åªè¦ç¼ºé™·æ˜¯å¯å¾©ç¾çš„。 æ“作æ¥é©Ÿï¼š - 從gitæºä»£ç¢¼æ§‹å»ºå…§æ ¸ - 以æ¤é–‹å§‹äºŒåˆ† [#f1]_:: $ git bisect start - 標記æå£žçš„變更集:: $ git bisect bad [commit] - 標記æ£å¸¸å·¥ä½œçš„變更集:: $ git bisect good [commit] - 釿–°æ§‹å»ºå…§æ ¸ä¸¦æ¸¬è©¦ - 使用以下任一與git bisect進行交互:: $ git bisect good 或:: $ git bisect bad 這喿±ºæ–¼æ‚¨æ¸¬è©¦çš„è®Šæ›´é›†ä¸Šæ˜¯å¦æœ‰ç¼ºé™· - 在一些交互之後,git bisect將給出å¯èƒ½å°Žè‡´ç¼ºé™·çš„變更集。 - 例如,如果您知é“ç•¶å‰ç‰ˆæœ¬æœ‰å•題,而4.8版本是æ£å¸¸çš„,則å¯ä»¥åŸ·è¡Œä»¥ä¸‹æ“作:: $ git bisect start $ git bisect bad # Current version is bad $ git bisect good v4.8 .. [#f1] 您å¯ä»¥ï¼ˆå¯é¸åœ°ï¼‰åœ¨é–‹å§‹git bisect的時候æä¾›good或badåƒæ•¸ ``git bisect start [BAD] [GOOD]`` 如需進一æ¥åƒè€ƒï¼Œè«‹é–±è®€ï¼š - ``git-bisect`` 的手冊é - `Fighting regressions with git bisect(用git bisect解決迴æ¸ï¼‰ <https://www.kernel.org/pub/software/scm/git/docs/git-bisect-lk2009.html>`_ - `Fully automated bisecting with "git bisect run"(使用git bisect run 來全自動二分) <https://lwn.net/Articles/317154>`_ - `Using Git bisect to figure out when brokenness was introduced (使用Git二分來找出何時引入了錯誤) <http://webchick.net/node/99>`_