请将Octave的错误报告提交到Octave错误跟踪器 https://bugs.octave.org。
有效报告错误的基本原则是: 报告所有事实。如果你不确定某个事实是该说还是不该说,那就说出来!
人们常常省略事实,因为他们自认为知道问题的原因,并断定某些细节无关紧要。比如,你可能会假设在示例中使用的变量名无关紧要。确实,很可能真的无关紧要,但没人能百分之百确定。也许这个错误是一个野内存引用,恰好从存储该变量名的内存位置读取了数据;也许如果变量名不同,该内存位置的内容就会在存在错误的情况下误导解释器做出正确的行为。稳妥起见,请给出一个具体、完整的示例。
请记住,错误报告的目的是让其他人能够修复一个尚不为人知的错误。因此,编写错误报告时请始终假定该错误是未知的。
有时人们只给出一些粗略的事实,然后问:"这有没有让你想起什么?" 这对我们修复错误毫无帮助。最好一开始就发送一份完整的错误报告。
尽量让你的错误报告内容完整、自包含。如果我们不得不向你索取更多信息,你在回复时最好附上之前提供的全部信息以及缺失的部分。
为了便于他人调查该错误,你应当提供以下所有内容:
单条语句可能不足以构成完整的示例——错误可能依赖于该最终出错语句中未曾体现的其他细节。
如果我们去猜测参数,很可能猜错,从而无法复现该错误。
configure命令的命令行参数。
请精确描述这些修改——为它们提供上下文差异(context diff)。
当然,如果错误是解释器收到致命信号,你不可能注意不到。但如果错误是输出不正确,除非明显有误,否则我们可能不会注意到。
即使你遇到的问题确实是致命信号,你也应该明确说出来。假设发生了一些奇怪的情况,比如你的解释器副本不同步了,或者你遇到了系统C库中的错误。你的副本可能会崩溃,但我们这里的副本不会。如果你说明了预期会崩溃,那么当我们这里的解释器没有崩溃时,我们就知道错误没有复现。如果你没有说明预期会崩溃,那么我们就不知道错误是否正在发生,也无法从观察中得出任何结论。
通常观察到的症状是程序运行时的输出不正确。遗憾的是,除非程序简短且简单,否则这不足以提供足够的信息。如果你能解释预期的输出是什么,以及为什么实际输出不正确,这将非常有帮助。
以下是一些不必要的内容:
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2