我用C++写了一个Linux守护进程。代码如下所示:
int main(int argc, char** argv)
{
daemon(1, 0); // Daemonize itself, retaining the current working directory and redirecting stdin, stdout and stderr to /dev/null.
// My program logic goes here
}
问题是,我的程序逻辑偶尔会抛出异常。如何捕获异常,以便知道哪里出了问题?
我知道对于普通的控制台应用程序,未捕获的异常将被转储到控制台。在
在我的开发环境中,我得到了一个内核oops。有人建议我的守护进程之一正在制作内核oops。
这对我来说很有趣。根据定义():
"oops is a deviation from correct behavior of the Linux kernel - one which produces a certain error log "
因此,异常将出现在内核代码中。我做了一些进一步的搜索,但没有找到确切的答案。
请有人澄清一下,内核oops是否可以由任何用户进程生成?
P.S.:我知道内核代码在某些用户进程上下文中执行(在上下文切换之后),但是在上下文切换之后,内核代码正
我在三星SoC s3c6410 (ARM11)上有linux板。我使用buildroot构建rootfs : Python 2.7.1,uClibc-0.9.31。Linux内核: Linux buildroot 2.6.28.6 #177 Mon Oct 3 12:50:57 EEST 2011 armv6l GNU/Linux
我的应用程序是用python编写的,在一些神秘的情况下会引发以下异常:
1)异常:
File "./dfbUtils.py", line 3209, in setItemData
ValueError: (4, 'Interrupted s