.. include:: ../disclaimer-zh_CN.rst :Original: :doc:`../../../admin-guide/bug-bisect` :译者: å´æƒ³æˆ Wu XiangCheng <bobwxc@email.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>`_