我可以将哪些C ++代码添加到我的程序中,这将实际上冻结我的程序,以便我可以testing我的看门狗定时器。 而且我怎么会导致我的操作系统也冻结。 谢谢!
你可以在你想要运行手表的代码中使用无限循环:
while(true); for(;;); do{ }while(true);
void sleep (int sec) void usleep (int ms)
如果你想要一个预定的持续时间,而不是无限循环。
我总是个人喜欢…
cin.get();
这将暂停系统,直到您按下一个键=)
导致你的操作系统冻结? 容易…
1。
for (;;) { fork(); }
2。
for (;;) { malloc(4*1024); // or other size, but not too big, otherwise virtual malloc }
3.在一个模块中(小心!)
DEFINE_SPINLOCK(lock); spin_lock_irq(&lock); spin_lock_irq(&lock);
睡眠功能只是导致进程冻结,但操作系统仍然正常。 要导致操作系统冻结,您应该让某个进程获取太多资源(如CPU util,内存或文件desc)并且不会释放。
但只是为了测试程序(而非OS)的看门狗定时器,无限循环就足够了。