Debug Session Setup
The ndk-gdb script that takes care of setting up the debug session on behalf of the developer but knows the sequence of events happening during the debug session setup, which is very beneficial to understanding the caveats of debugging native code on Android. The complete sequence of events during the debug session setup is shown in Figure.
The ndk-gdb script launches the target application by using the application manager through ADB. The application manager simply relays the request to Zygote process.
Zygote, also known as the “app process,” is one of the core processes started when the Android system boots. Its role within the Android platform is to start the Dalvik virtual machine and initialize all core Android services. As a mobile operating system, Android needs to keep the startup time of applications as small as possible in order to provide a highly responsive user experience. In order to achieve that, instead of starting a new process from scratch for the applications, Zygote simply relies on forking. In computing, forking is the operation to clone an existing process. The new process has an exact copy of all memory segments of the parent process, although both processes execute independently.
At this point in time, the application is started and is executing code. As you may have noticed, the debug session is not established yet at this point.
作者:myfather103 发表于2017/7/21 18:30:24 原文链接
阅读:48 评论:0 查看评论