经常看到一些linux开发中使用BUG_ON(condition)作为调试函数,BUG_ON()函数中最核心的其实就是下面这句。当不希望发生的事情发生了,就会挂掉。原理是将0地址赋值,而linux系统不允许操作0地址,这样就会使正在运行的程序挂掉。
这种方式比较暴力,只有确定当前函数运行必须成功,不成功可以挂掉的情形才能使用。
*(int *)NULL = 1;
经常看到一些linux开发中使用BUG_ON(condition)作为调试函数,BUG_ON()函数中最核心的其实就是下面这句。当不希望发生的事情发生了,就会挂掉。原理是将0地址赋值,而linux系统不允许操作0地址,这样就会使正在运行的程序挂掉。
这种方式比较暴力,只有确定当前函数运行必须成功,不成功可以挂掉的情形才能使用。
*(int *)NULL = 1;