我有一个C应用程序。这会在启动时创建与文件的连接,并且会持续运行很多天。
我只连接一次。而不是在代码中重新连接它。 只检查是否
if(NULL == file)
是否可能存在我的应用程序丢失该文件处理程序的I / O连接的情况?
如果是的话。有没有办法,我怎样才能为它创建测试用例?
答案 0 :(得分:9)
是的,这是可能的。例如,如果文件位于另一台计算机上或可移动存储上。无论哪种方式,您都可以物理断开/拔出设备,并且句柄上的后续操作将失败。
要自动模拟此功能,您需要在驱动程序级别上进行攻击。
答案 1 :(得分:8)
您可以断开与文件的连接,但不会将文件变量设置为NULL,症状将是IO错误。阅读或写作都会失败。 (对于C ++流,将设置badbit而不是为格式错误设置的failbit;)