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 --- |