【发布时间】:2014-03-17 03:20:26
【问题描述】:
我有一个 Linux 程序(目前在汇编中),它有一个检查:如果从 STDIN 读取失败,则显示错误消息。问题是我不知道如何测试这个条件,如何执行程序,使其无法从 STDIN 读取。 IT 必须在没有 STDIn 的情况下运行,否则 STDIN 可以在程序启动之前以某种方式关闭?
【问题讨论】:
-
使用
read系统调用。阅读其文档以了解错误是如何传达的。 -
嗯,我的问题不是如何测试我程序中读取的系统调用结果。我已经实施了这个测试。我需要测试这个程序并为其提供一个失败的标准输入,看看我实现的测试是否正常工作。
-
我明白了;没关系,我真的不明白这个问题。
-
据我了解,他想故意在
stdin上导致sys_read上的错误以测试他的错误处理程序。我不知道答案。拔掉键盘?可能读入了无效的缓冲区地址(ecx或rsi)?