1

我在我的 Android rootfs 中修改了 libwebcore.so,现在我想调试它,但是如果我开始浏览器会立即崩溃

am start -n com.android.browser/.BrowserActivity

如果我尝试从-Dswitch 开始,它会挂起并说:

Application Browser (process com.android.browser) is waiting for the debugger to attach

但是当我将 gdbserver 附加到浏览器 pid 时,什么也没有发生。

那么,如果浏览器在启动后崩溃,有没有办法调试它?

4

2 回答 2

2
  1. 在 libwebcore.so 中尽可能早的位置放置一个无限循环(或者至少足够早,以至于您知道崩溃点还没有执行。)
  2. 将 gdbserver 附加到 PID
  3. 使用 GDB 打破无限循环
  4. 调试
于 2011-10-05T16:41:44.837 回答
0

NDK 开发人员可以使用 ndk 脚本轻松调试应用程序。在调试 AOSP 本机代码时,您只能靠自己。

由于您尝试调试的应用程序是 Android Java 应用程序,因此您可以使用 app_process 作为目标可执行文件并使用 gdbserver 附加到正在运行的应用程序。请查看调试 Android Java 应用程序的本机库以获取分步教程。

于 2014-07-15T03:03:54.583 回答