我使用 QtCreator 为 Android 部署和调试应用程序。我正在尝试solib-search-path
为 GDB 指定(因为 QtCreator 没有正确设置它以加载共享库)。
当我将这些行添加到 GDB 字段的“其他启动命令”中时:
python libsPath = "C:/dev/vobs_sde/build/sdetest/build-sdetestprg-Android-Debug"
python gdb.execute("set solib-search-path " + libsPath)
它工作正常,我的库已加载。但是现在,如果我想让它更加动态并适用于我正在使用的任何项目,我需要从 QtCreator 的%{CurrentProject:BuildPath}
变量创建 libsPath ......所以我尝试:
python libsPath = "%{CurrentProject:BuildPath}"
python print( "libsPath is " + libsPath )
python libsPath = libsPath.replace("\\","/") + "/android-build/libs/armeabi-v7a"
python print( "Setting solib-search-path to " + libsPath)
python gdb.execute("set solib-search-path " + libsPath)
然后,调试器控制台报告(我的共享库不再加载):
>&"python print( \"libsPath is \" + libsPath )\n"
>~"libsPath is C:\\dev\013obs_sde\build\\sdetest\build-sdetestprg-Android-Debug\n"
>^done
>&"python libsPath = libsPath.replace(\"\\\\\",\"/\") + \"/android-build/libs/armeabi-v7a\"\n"
>^done
>&"python print( \"Setting solib-search-path to \" + libsPath)\n"
>~"Setting solib-search-path to C:/dev\013obs_sde\build/sdetest\build-sdetestprg-Android-Debug/android-build/libs/armeabi-v7a\n"
>^done
知道为什么路径会变得混乱(C:/dev\013obs_sde\build
在期待的时候C:/dev/vobs_sde/build
)......以及应该如何解决这个问题?