I was trying to debug an android app that implement anti-debugging technique.The app encrypts the .so library so I cannot figure much from it .when I attach stace to the app the app crash Immediately with the following output open(/proc/self/maps, O_RDONLY)       = 33read(33, 12c00000-12e01000 rw-p 00000000 ..., 1024) = 1024read(33, ted)\n74641000-76283000 ---p 0000..., 934) = 934read(33, /dev/ashmem/dalvik-large object ..., 975) = 975read(33, 000000 00:04 389844     /dev/ash..., 999) = 999read(33, 0 0 \na9359000-a935b000 r--p 0010..., 988) = 988read(33, badreno_utils.so\na93ed000-a93ee0..., 954) = 954read(33, r-xp 00000000 b3:10 1004       /..., 1006) = 1006read(33, 0 r-xp 00000000 b3:10 1230      ..., 1008) = 1008read(33, 0 rw-p 00000000 00:00 0 \na968100..., 1008) = 1008read(33, 3:10 861        /system/fonts/No..., 991) = 991read(33, /system/fonts/MTLmr3m.ttf\na9c450..., 975) = 975read(33, TaiTham-Regular.ttf\naabae000-aab..., 953) = 953read(33, b000 r--p 00000000 b3:10 806    ..., 1011) = 1011read(33, 0 r--p 00000000 b3:10 780       ..., 1008) = 1008read(33, ystem/fonts/NotoSansKhmerUI-Bold..., 973) = 973read(33, 1        /system/fonts/NotoSansT..., 984) = 984read(33, 00000000 b3:10 846        /syste..., 1001) = 1001read(33, 0 b3:10 793        /system/fonts..., 994) = 994read(33, --p 00000000 b3:10 854        /s..., 1005) = 1005read(33, Bold.ttf\nab118000-ab159000 r--p ..., 954) = 954read(33, b420000 rw-p 00002000 b3:10 1270..., 1014) = 1014read(33, 6f000 r--p 00000000 b3:1d 520891..., 1012) = 1012read(33, o\naf003000-af004000 r-xp 0000000..., 947) = 947read(33, 0 b3:1d 520247     /data/dalvik-..., 994) = 994read(33,  390596     /dev/ashmem/dalvik-m..., 987) = 987read(33, )\nb24dd000-b24fd000 rw-p 0000000..., 927) = 927read(33, shmem/dalvik-indirect ref table ..., 969) = 969read(33,  rw-p 00000000 00:00 0 \nb3b75000..., 1007) = 1007read(33, ack:18700]\nb3f8b000-b3f8d000 rw-..., 972) = 972read(33, 7000 rw-p 00000000 00:00 0 \nb419..., 1011) = 1011read(33, 0 32104      /system/lib/libart...., 988) = 988read(33, 00 r-xp 00000000 b3:10 955      ..., 1009) = 1009read(33, )\nb5198000-b5298000 rw-p 0000000..., 897) = 897read(33, 0 b3:10 1325       /system/lib/l..., 994) = 994read(33, 0-b53ac000 rw-p 00010000 b3:10 1..., 1017) = 1017read(33, td_client.so\nb580d000-b5811000 r..., 958) = 958read(33, 26000 rw-p 00000000 00:00 0     ..., 1012) = 1012read(33, 8a1000 ---p 00000000 00:00 0 \nb5..., 1013) = 1013read(33, 00-b5987000 r--p 00034000 b3:10 ..., 1018) = 1018read(33,      /system/lib/libskia.so\nb5be..., 980) = 980read(33, 5cd0000 r--p 0003a000 b3:10 1019..., 1014) = 1014read(33, 66a6000-b66ad000 rw-p 00000000 0..., 1023) = 1023read(33, i++.so\nb683e000-b698c000 r-xp 00..., 957) = 957read(33, m/lib/libnetutils.so\nb69e9000-b6..., 969) = 969read(33, -b6b13000 r--p 000e2000 b3:10 10..., 1016) = 1016read(33, 146       /system/lib/libgui.so\n..., 985) = 985read(33, m/lib/libaudioutils.so\nb6bc4000-..., 969) = 969read(33, w-p 00009000 b3:10 968        /s..., 1005) = 1005read(33, 0 \nb6c9f000-b6ca3000 r-xp 000000..., 986) = 986read(33,        /system/lib/libstlport.so..., 982) = 982read(33, b4000 r--p 000cd000 b3:10 995   ..., 1012) = 1012close(33)                               = 0mmap2(NULL, 1040384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0xb3506000mprotect(0xb3506000, 4096, PROT_NONE)   = 0clone(child_stack=0xb3603db0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb492a188, tls=0xb3603db0, child_tidptr=0xb492a188) = 18808mprotect(0xa09c7000, 698848, PROT_READ|PROT_WRITE|PROT_EXEC) = 0+++ exited with 1 +++I am trying to use library injection and system call hook to bypass the anti-debugging.What I do not understand in the output is how the app detect that a debugger is attached just by opening /proc/self/maps what I know is detecting a debugger usually require reading /poc/self/status file and calling ptrace and fork The other thing that I do not understand is how the app close without a call to exit ,kill or exit_goup  
help understanding the output of stace for application that use anti-debugging technique
android;anti debugging