baiduhook
baiduhook copied to clipboard
会产生core
基于 gcc4.8, gtest1.6测试会产生core
$ ./test_attach
[/home/google/bhook-1.0.0/test/unittest/simple]
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from MyLib
[ RUN ] MyLib.case1
test_attach.cpp:26: Failure
Value of: ret
Actual: -1
Expected: 1
[ FAILED ] MyLib.case1 (10 ms)
[ RUN ] MyLib.case2
[mylib.cpp][16] str:cmd2
[ OK ] MyLib.case2 (0 ms)
[----------] 2 tests from MyLib (10 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 1 test case ran. (10 ms total)
[ PASSED ] 1 test.
[ FAILED ] 1 test, listed below:
[ FAILED ] MyLib.case1
1 FAILED TEST
[1] 16010 segmentation fault (core dumped) ./test_attach
Original issue reported on code.google.com by [email protected]
on 23 Jul 2013 at 7:53
通过gdb,应该是bhook和gtest
结合时,gtest存在某种机制,当离开main函数时,收场,调用��
�bhook框架,导致两次free内存,导致!
(gdb) run
Starting program: /home/google/bhook-1.0.0/test/unittest/simple/test_enable
warning: no loadable sections found in added symbol-file system-supplied DSO at
0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Breakpoint 1, main (argc=1, argv=0x7fffffffe238) at test_enable.cpp:48
48 testing::InitGoogleTest(&argc, argv);
(gdb) n
50 testing::GTEST_FLAG(color) = "yes";
(gdb)
52 attach_func_lib("func", (void *)my_func);
(gdb)
[New Thread 0x7ffff5497700 (LWP 16050)]
54 return RUN_ALL_TESTS();
(gdb)
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from MyLib
[ RUN ] MyLib.case1
[=HOOK=] this is hook func
test_enable.cpp:35: Failure
Value of: ret
Actual: -1
Expected: 1
[ FAILED ] MyLib.case1 (1 ms)
[ RUN ] MyLib.case2
[mylib.cpp][16] str:cmd2
[ OK ] MyLib.case2 (0 ms)
[----------] 2 tests from MyLib (1 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 1 test case ran. (1 ms total)
[ PASSED ] 1 test.
[ FAILED ] 1 test, listed below:
[ FAILED ] MyLib.case1
1 FAILED TEST
55 }
(gdb)
__libc_start_main (main=0x402f6c <main(int, char**)>, argc=1,
ubp_av=0x7fffffffe238, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>,
stack_end=0x7fffffffe228) at libc-start.c:294
294 libc-start.c: No such file or directory.
(gdb)
*** Error in `/home/google/bhook-1.0.0/test/unittest/simple/test_enable':
double free or corruption (out): 0x0000000000611550 ***
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
Program received signal SIGABRT, Aborted.
0x00007ffff63991e5 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb)
Original comment by [email protected]
on 23 Jul 2013 at 7:58