debug 'phxbinlogsvr_phxrpc' 时候,void phxbinlog::EventIndex::OpenDB(const string&): Assertion `status.ok()' failed
描述:debug 'phxbinlogsvr_phxrpc'时候,attach上去后,每次在调用phxbinlog::EventIndex::OpenDB时候,leveldb::DB::Open返回的status.ok 失败,请问是我调试手段有问题还是哪方面没有理解正确?期望,给予提示!!
10x 0x00007ffff6efec25 <+37>: mov %eax,%esi
11x 0x00007ffff6efec27 <+39>: movslq %edi,%rdx
12x 0x00007ffff6efec2a <+42>: movslq %esi,%rsi
13x 0x00007ffff6efec2d <+45>: movslq %ecx,%rdi
14x 0x00007ffff6efec30 <+48>: mov $0xea,%eax
15x 0x00007ffff6efec35 <+53>: syscall
16tqq> 0x00007ffff6efec37 <+55>: cmp $0xfffffffffffff000,%rax
17x 0x00007ffff6efec3d <+61>: ja 0x7ffff6efec5d <__GI_raise+93>
18x 0x00007ffff6efec3f <+63>: repz retq
19x 0x00007ffff6efec41 <+65>: nopl 0x0(%rax)
20x 0x00007ffff6efec48 <+72>: test %ecx,%ecx
21x 0x00007ffff6efec4a <+74>: jg 0x7ffff6efec27 <__GI_raise+39>
22x 0x00007ffff6efec4c <+76>: mov %ecx,%eax
** Dump of assembler code for function __GI_raise: (7ffff6efec00 - 7ffff6efec6d) **
$4 = 0xd988e8 "/tmp/data/phxbinlogsvr/event_data/event_lb/"
(gdb) p status.ToString().c_str()
Attempt to take address of value not located in memory.
(gdb) n
(gdb) p status.ok()
$5 = false
(gdb) n
phxbinlogsvr_phxrpc: event_index.cpp:55: void phxbinlog::EventIndex::OpenDB(const string&): Assertion `status.ok()' failed.
Program received signal SIGABRT, Aborted. 0x00007ffff6efec37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: M-fM-2M-!M-f~~IM-i~BM-#M-dM-8M-*M-f~V~GM-dM-;M-6M-f~H~VM-g~[M-.M-eM-=~U. (gdb)