您的位置:首页 > 数据库 > Oracle

详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库

2008-10-11 16:01 1241 查看
先说点基本的。

默认在linux中,出现segment fault时,是不会出现core dump的文件的。需要去更改一下core file size

怎么看core file size了

ulimit -a

core file size (blocks, -c) 0

data seg size (kbytes, -d) unlimited

file
size (blocks, -f) unlimited

max locked memory (kbytes, -l) 4

max
memory size (kbytes, -m) unlimited

open files (-n) 2048

pipe size
(512 bytes, -p) 8

stack size (kbytes, -s) 10240

cpu time (seconds,
-t) unlimited

max user processes (-u) 7168

virtual memory
(kbytes, -v) unlimited

更改的时候用ulimit -c 1024,不过我一般直接ulimit -c unlimited

这个时候在执行一下程序,会发现当前目录下出现了core文件

gdb 可执行文件名 core

gdb:> bt

即可以查看函数出错时候堆栈结构

说到JNI,在JNI调用c/c++的库时,通过以上的设置,也会出现core文件,不过由于我们运行的时候是用 java 执行的可执行程序,因此,该怎么用gdb看core dump了。

其实很简单,既然是java产生的core,那就用java看好了。

于是

gdb java core

gdb:> bt

然后会看到很多 ?()的行,直接忽略,看c/c++的库,会看到什么地方产生了signal,基本就能定位了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐