4.Coding.rst (cb1aaebea8d79860181559d7b5d482aea63db113) 4.Coding.rst (10ffebbed5503b1830c7920ef528075785351be6)
1.. include:: ../disclaimer-zh_CN.rst
2
3:Original: :ref:`Documentation/process/4.Coding.rst <development_coding>`
4:Translator: Alex Shi <alex.shi@linux.alibaba.com>
5
6.. _cn_development_coding:
7
8使代码正确

--- 191 unchanged lines hidden (view full) ---

200的返回状态。然而,事实上,最终的故障恢复路径可能完全没有经过测试。未测试的
201代码往往会被破坏;如果所有这些错误处理路径都被执行了几次,那么您可能对代码
202更有信心。
203
204内核提供了一个可以做到这一点的错误注入框架,特别是在涉及内存分配的情况下。
205启用故障注入后,内存分配的可配置百分比将失败;这些失败可以限制在特定的代码
206范围内。在启用了故障注入的情况下运行,程序员可以看到当情况恶化时代码如何响
207应。有关如何使用此工具的详细信息,请参阅
1.. include:: ../disclaimer-zh_CN.rst
2
3:Original: :ref:`Documentation/process/4.Coding.rst <development_coding>`
4:Translator: Alex Shi <alex.shi@linux.alibaba.com>
5
6.. _cn_development_coding:
7
8使代码正确

--- 191 unchanged lines hidden (view full) ---

200的返回状态。然而,事实上,最终的故障恢复路径可能完全没有经过测试。未测试的
201代码往往会被破坏;如果所有这些错误处理路径都被执行了几次,那么您可能对代码
202更有信心。
203
204内核提供了一个可以做到这一点的错误注入框架,特别是在涉及内存分配的情况下。
205启用故障注入后,内存分配的可配置百分比将失败;这些失败可以限制在特定的代码
206范围内。在启用了故障注入的情况下运行,程序员可以看到当情况恶化时代码如何响
207应。有关如何使用此工具的详细信息,请参阅
208Documentation/fault-injection/fault-injection.txt。
208Documentation/fault-injection/fault-injection.rst。
209
210使用“sparse”静态分析工具可以发现其他类型的错误。对于sparse,可以警告程序员
211用户空间和内核空间地址之间的混淆、big endian和small endian数量的混合、在需
212要一组位标志的地方传递整数值等等。sparse必须单独安装(如果您的分发服务器没
213有将其打包,可以在 https://sparse.wiki.kernel.org/index.php/Main_page)找到,
214然后可以通过在make命令中添加“C=1”在代码上运行它。
215
216“Coccinelle”工具 :ref:`http://coccinelle.lip6.fr/ <devtools_coccinelle>`

--- 74 unchanged lines hidden ---
209
210使用“sparse”静态分析工具可以发现其他类型的错误。对于sparse,可以警告程序员
211用户空间和内核空间地址之间的混淆、big endian和small endian数量的混合、在需
212要一组位标志的地方传递整数值等等。sparse必须单独安装(如果您的分发服务器没
213有将其打包,可以在 https://sparse.wiki.kernel.org/index.php/Main_page)找到,
214然后可以通过在make命令中添加“C=1”在代码上运行它。
215
216“Coccinelle”工具 :ref:`http://coccinelle.lip6.fr/ <devtools_coccinelle>`

--- 74 unchanged lines hidden ---