20114016039 发表于 2012-5-2 11:52:47

谁能帮我分析一下这个错误报告?我把错误的信息打出来.....

如题,昨晚用strace 命令将一个应用程序运行时的错误报告打出来了,就是不知道它是哪里错了,请大牛帮我分析一下!小弟感激不尽
#strace -o log1.txt ./hello_ps -lm 3575.lm -dict 3575.dict
Segmentation fault

如下为log1.txt

execve("./hello_ps", ["./hello_ps", "-lm", "3575.lm", "-dict", "3575.dict"], [/* 40 vars */]) = 0
brk(0)                                  = 0x9fe1000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f69000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=56219, ...}) = 0
mmap2(NULL, 56219, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f5b000
close(3)                              = 0
open("/lib/tls/i686/sse2/libpocketsphinx.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/sse2", 0xbfe61a88) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/libpocketsphinx.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686", 0xbfe61a88)   = -1 ENOENT (No such file or directory)
open("/lib/tls/sse2/libpocketsphinx.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/sse2", 0xbfe61a88)   = -1 ENOENT (No such file or directory)
open("/lib/tls/libpocketsphinx.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/lib/i686/sse2/libpocketsphinx.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/sse2", 0xbfe61a88)    = -1 ENOENT (No such file or directory)
open("/lib/i686/libpocketsphinx.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/lib/sse2/libpocketsphinx.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/sse2", 0xbfe61a88)         = -1 ENOENT (No such file or directory)
open("/lib/libpocketsphinx.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300w\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=680040, ...}) = 0
mmap2(NULL, 251596, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x48a000
mmap2(0x4c6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3b) = 0x4c6000
close(3)                              = 0
open("/lib/tls/libsphinxbase.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/i686/libsphinxbase.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libsphinxbase.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\220\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=707988, ...}) = 0
mmap2(NULL, 265380, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x5f0000
mmap2(0x62f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3e) = 0x62f000
mmap2(0x630000, 3236, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x630000
close(3)                              = 0
open("/lib/tls/libsphinxad.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/i686/libsphinxad.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libsphinxad.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\23"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=48922, ...}) = 0
mmap2(NULL, 24028, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fe000
mmap2(0x803000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0x803000
close(3)                              = 0
open("/lib/libc.so.6", O_RDONLY)      = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000?\232"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1576952, ...}) = 0
mmap2(0x98e000, 1295780, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x98e000
mmap2(0xac5000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x137) = 0xac5000
mmap2(0xac8000, 9636, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xac8000
close(3)                              = 0
open("/usr/local/lib/tls/i686/sse2/libasound.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/lib/tls/i686/sse2", 0xbfe61990) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/tls/i686/libasound.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/lib/tls/i686", 0xbfe61990) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/tls/sse2/libasound.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/lib/tls/sse2", 0xbfe61990) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/tls/libasound.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/lib/tls", 0xbfe61990) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/i686/sse2/libasound.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/lib/i686/sse2", 0xbfe61990) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/i686/libasound.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/lib/i686", 0xbfe61990) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/sse2/libasound.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/lib/sse2", 0xbfe61990) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libasound.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/lib/libasound.so.2", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300>\\"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=893900, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f5a000
mmap2(0x25a4000, 895252, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x25a4000
mmap2(0x267a000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd5) = 0x267a000
close(3)                              = 0
open("/usr/local/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)= 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\7\260"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=125564, ...}) = 0
mmap2(0xafc000, 90592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xafc000
mmap2(0xb0f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12) = 0xb0f000
mmap2(0xb11000, 4576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb11000
close(3)                              = 0
open("/usr/local/lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libm.so.6", O_RDONLY)      = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\4\255"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=208344, ...}) = 0
mmap2(0xacd000, 155776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xacd000
mmap2(0xaf2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24) = 0xaf2000
close(3)                              = 0
open("/usr/local/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0Pj\257\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=16528, ...}) = 0
mmap2(0xaf6000, 12408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xaf6000
mmap2(0xaf8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xaf8000
close(3)                              = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f59000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f58000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f586c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xaf8000, 4096, PROT_READ)   = 0
mprotect(0xaf2000, 4096, PROT_READ)   = 0
mprotect(0xb0f000, 4096, PROT_READ)   = 0
mprotect(0xac5000, 8192, PROT_READ)   = 0
mprotect(0x98a000, 4096, PROT_READ)   = 0
munmap(0xb7f5b000, 56219)               = 0
set_tid_address(0xb7f58708)             = 32714
set_robust_list(0xb7f58710, 0xc)      = 0
rt_sigaction(SIGRTMIN, {0xb003b0, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb002c0, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, , NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="localhost.localdomain", ...}) = 0
brk(0)                                  = 0x9fe1000
brk(0xa002000)                        = 0xa002000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++


最后是提示说segmentation fault ,,,这是咋子意思哦~~

20114016039 发表于 2012-5-2 12:30:07

呃,算了,像这样的错误,还是认命吧,一般segmentation fault这样的错误呢,就去找一个有空间呀,分配内存有关的地方去看,肯定是那些地方出错了,我刚自己跑回去找了一篇了,发现了,

如果还去找相关的打印信息,那就蛋疼了~~分享一下我的经验

wgyoume 发表于 2012-5-2 18:42:01

segmentation fault一般就是指针的用法错了,看初化没有,如果没初始化是不能用的。
页: [1]
查看完整版本: 谁能帮我分析一下这个错误报告?我把错误的信息打出来.....