android 远程调试老是断,[求助]Android --gdb+gdbserver远程调试安卓so,断点报错问题。...

ndk 15.2.4203891,我使用windows下的Android Studio编译了一个jin例子,在windows模拟器中运行程序,进行so库远程调试,遇到以下问题,请帮忙解决:

1、首先把sdk\ndk-bundle\prebuilt\android-x86\gdbserver\gdbserver  adb push 到Android Studio 模拟器下的/data/local/tmp 中。

2、windows下的cmd用 sdk\ndk-bundle\prebuilt\windows-x86_64\bin\gdb.exe 进行远程调试。

步骤如下

一、模拟器中启动server:gdbserver :23946 --attach xxPID

二、在windows的cmd中输入:adb forward tcp:23946 tcp:23946

三、然后在windows的cmd中启动gdb:启动gdb后输入 "target remote 127.0.0.1: 23946"

四、然后在windows的cmd中同步so库符号文件,命令如下:

file F:\\AndroidStudioProjects\\ndk-build-test\\app\\build\\intermediates\\ndkBuild\\debug\\obj\\local\\x86\\libtest1.so符号文件同步成功。

然后运行list命令,能够打印出源文件内容,如下:(gdb) list

11      #define LOGI(...)   ((void)__android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__))

12      #define LOGE(...)   ((void)__android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__))

13

14      extern "C"

15      JNIEXPORT jstring JNICALL

16      Java_com_x_lgj_ndk_1build_1test_MainActivity0907_OK(JNIEnv *env, jobject instance) {

17

18          std::string hello = "gghkkkkkkkkkkkkkkkk";

19          int i = 0;

20          while(1)

五、下断点成功,但是continue报错,如下:

(gdb) b test.cpp:23

Breakpoint 1 at 0x14fb3: file F:/AndroidStudioProjects/ndk-build-test/app/src/main/jni\test.cpp, line 23.

(gdb) c

Continuing.

Warning:

Cannot insert breakpoint 1.

Cannot access memory at address 0x14fb3

Command aborted.

(gdb)

六:删除断点后,执行continue命令又好使正常了,如下:

(gdb) delete 1

(gdb) c

Continuing.

这是咋回事??求助,多谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值