调试c++写的.cpp文件生成的.so文件链接库,请问下大神,有什么方式可以跟进调试,看一下跟进调试c++里面的代码怎么调试?主要是能设置断点调试的方法

解决方案 »

  1.   

        ndk-gdb 是可以实现对于原生层代码的调试的。但是,没有UI界面,是一个命令行工具,用起来很累。我尝试了两次就放弃了。
        一般我都打log,看运行过程。
      

  2.   

    我现在正在是gdb,但貌似不是很好用啊,log的话可以查看数据吗?
      

  3.   

    Error while mapping shared library sections:
    /system/bin/linker: No such file or directory.
    Error while mapping shared library sections:
    libc.so: No such file or directory.
    Error while mapping shared library sections:
    libstdc++.so: No such file or directory.
    Error while mapping shared library sections:
    libm.so: No such file or directory.
    Error while mapping shared library sections:
    liblog.so: No such file or directory.
    Error while mapping shared library sections:
    libcutils.so: No such file or directory.
    Error while mapping shared library sections:
    libz.so: No such file or directory.
    Error while mapping shared library sections:
    libutils.so: No such file or directory.
    Error while mapping shared library sections:
    libbinder.so: No such file or directory.
    Error while mapping shared library sections:
    libexpat.so: No such file or directory.
    Error while mapping shared library sections:
    libcrypto.so: No such file or directory.
    Error while mapping shared library sections:
    libssl.so: No such file or directory.
    Error while mapping shared library sections:
    libicudata.so: No such file or directory.
    Error while mapping shared library sections:
    libicuuc.so: No such file or directory.
    Error while mapping shared library sections:
    libicui18n.so: No such file or directory.
    Error while mapping shared library sections:
    libsqlite.so: No such file or directory.
    Error while mapping shared library sections:
    libnativehelper.so: No such file or directory.
    Error while mapping shared library sections:
    libnetutils.so: No such file or directory.
    Error while mapping shared library sections:
    libEGL.so: No such file or directory.
    像这种问题一般是什么情况?怎么解决
      

  4.   

    这个是没找到so库文件,不过,你需要加载这么多库么?也太恐怖了一点。
    这些so文件都是你自己编译出来的么?还是系统提供的?
    如果是自己编译的话,你就需要检查下,在apk内部的/lib/armeabi/文件夹下,是否有这些so文件。
      

  5.   

    这错语是正常的,无关仅要,因为你这些库在模拟器上是release版,而ndk-gdb需要的是调试版本的.所以会出这错,不过无关紧要了.忽略之 .
    跟进调试用ndk-gdb.还是可以的.只不过没有可视化的方便.
      

  6.   

    ndk-gdb我用了下,实在是麻烦的受不了,初步采取了logcat的方法,还行,其实也可以用输出文件的方式,也行
      

  7.   

    我以前也是用LOGCAT,不过觉得调试工作量大.还是NDK-GDB
      

  8.   

    gdb一个文件调试完了,怎么切换到下一个需要调试的文件啊
    用file命令好像找不到啊
    file 1.cpp
      

  9.   

    先进入一个全局调试的断点,再用b file 1.cpp:你的函数名.