-
-
Notifications
You must be signed in to change notification settings - Fork 784
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如何获取android so 符号表? #727
Comments
那个只不过是带了符号的so库,又不是单独的符号文件。。 xmake.lua里面如果设置了 那么,切到调试模式编译的so库,就是带符号的,默认release编译就是不带符号的 xmake f -m debug
xmake xmake f -m release
xmake |
是的,严格来说就是 strip 前的 so。 构建 release 的库时,有没有可能拿到中间过程带符号的so? |
编译参数,你敲xmake -v 编译就能看到完整的。。 如果你不想改其他的flags,仅仅追加调试符号,自己额外设置下就行了 set_symbols("debug")
set_strip("none") |
好的, 感谢! |
我还原了一下ndk-build的流程,分了三步编译-链接-strip,看是否可以在xmake的流程里加上这个逻辑。这个应该是发布SDK上线使用的一个常见需求。 编译 : obj/local/armeabi-v7a/objs/{Project}/////Source/yyyy.o 看到 target 里有提供 after link 方法,不知道能否用在这种场景,可否提供一下思路? |
几种方式
if is_mode("debug") then
set_strip("none")
set_symbols("debug")
end
target("xxx") xmake f -m debug
xmake
xmake f -m release
xmake 如果觉得繁琐,可以通过 xmake macro 记录一个命名宏来回放,或者自己搞个脚本批量处理下 也可以定义个task,来单独做所有的编译打包打包逻辑,内置自己执行下 os.exec("xmake f -m debug") 什么的 |
你先试试吧 回头有时间我对android库打包针对性优化下好了 |
这块我会在下个版本加个rule单独处理下,实现可配置自动生成符号,这个版本暂时先不动了,这两天我要封板了 |
我改进过了,dev上支持对android/ios同时生成独立符号文件 如果target同时设置了下面两个设置,就会启用符号文件生成 target("test")
set_symbols("debug")
set_strip("all") 对于内置的release模式,默认不启用符号生成,仅仅只是strip targetfile,如果要启用,只需要再额外开启debug符号就行,因为mode.release内部默认已经启用了strip了。 add_rules("mode.release")
target("test")
set_symbols("debug") ios程序会生成.dSYM文件,然后同时Strip自身符号 [ 62%]: linking.release libtest.dylib
[ 62%]: generating.release test.dSYM android程序会生成.sym文件(其实就是带符号的so/binary程序),然后同时Strip自身符号 [ 62%]: linking.release libtest.so
[ 62%]: generating.release test.sym |
方便求教下,generating.release test.sym,该文件的生成命令不?我现在是用cmake,没找到合适的命令提取和xmake一样的sym文件~🙏🏻 |
For the convenience of asking, is there a command to generate generating.release test.sym for this file? I am using cmake now, but I can’t find a suitable command to extract the same sym file as xmake~🙏🏻 |
你在什么场景下需要该功能?
问题定位时,通常需要使用符号表文件还原堆栈。
描述可能的解决方案
使用 ndk 编译 so 时,会在 obj/local/<架构(Architecture)>/ 下生成符号表文件,使用 xmake 如何获取符号表文件呢?
The text was updated successfully, but these errors were encountered: