2013-04-26 106 views
0

我目前正在尝试使用usb接口在旧的Android设备(Android 2.2,内核2.6.32)上使用ndk-gdb进行一些调试工作。每次gdbserver附加任何工艺,设备重启,如下图所示:gdbserver附加到任何进程后Android设备重新启动

sh-3.2# lib/gdbserver --debug :9999 --attach 479 
lib/gdbserver --debug :9999 --attach 479 
sigchld_handler 
Attached; pid = 479 
linux_wait: [Process 479] 
linux_wait_for_lwp: <all threads> 
my_waitpid (-1, 0x40000000) 
my_waitpid (-1, 0x1): status(137f), 479 
Got an event from 479 (137f) 

...设备现在

重新启动我没有发现任何线索/proc/kmsg/data/system/dropbox
它与看门狗或其他内核配置有关吗?
在内核配置文件中,有:

#CONFIG_MSM_SERIAL_DEBUGGER is not set 
CONFIG_MSM_RPCSERVER_WATCHDOG=y 

他们是相关的?谢谢。

回答

0

现在找到答案。 该设备使用一个旧的cpu MSM7225没有VFP,但内核内置VFP。 当gdbserver连接某个进程时,它会尝试在设备中获取一些寄存器集。当检索不存在的VFP寄存器时,系统重新启动。 解决方案:注释掉VFP对内核配置的支持。 现在ndk-gdb的作品。

相关问题