我可以编写什么程序来冻结/挂起我的程序来testing看门狗定时器?

我可以将哪些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)的看门狗定时器,无限循环就足够了。