我有一个delphi应用程序依靠SQLite3,一个数据库引擎广告作为防崩溃。
到目前为止,我能够使我的整个应用程序防崩溃,但现在我需要模拟残酷的机器重新启动/电源故障。
很显然,为了进行这个testing,我的机器会每天100次地重新启动,这太疯狂/不切合实际了。
我想知道是否有一种方法来模拟使用VirtualBox(或类似的)以编程方式/自动化方式的电源故障 ?
任何其他的方法/思想都会比欢迎,我的目标是确保我的用户的数据永远不会损坏。
PS。 这个问题适用于Windows XP或更高版本
在虚拟主机上运行这个应该可以做到
VBoxManage controlvm(vmname)重置/关闭
VBoxManage controlvm(vmname)reset在虚拟机上的效果与在真实计算机上按下“重置”按钮相同:虚拟机的冷重新启动,将立即重新启动并重新引导客户机操作系统。 虚拟机的状态不会预先保存,数据可能会丢失。 (这相当于在GUI的“机器”菜单中选择“重置”项目。)
VBoxManage controlvm(vmname)poweroff在虚拟机上的效果与在真实计算机上拉动电源线相同。 同样,VM的状态不会事先保存,数据可能会丢失。 (这相当于在GUI的“机器”菜单中选择“关闭”项目,或者按下窗口的关闭按钮,然后在对话框中选择“关闭机器”)。