samlee1
(王子七七七)
2021 年9 月 9 日 09:10
22
打印了是py3 是不是跟代码是swift编译的有关
samlee1
(王子七七七)
2021 年9 月 10 日 00:24
25
路径是这个 /Users/aimo/Documents/lldbTrace.py 没有中文啊。搞不懂
y大,我trace的时候从.plt段跳转到.text段,.text段的代码没有记录下来,不知道是不是我操作错误。
opened 09:12AM - 16 Sep 21 UTC


如图所示,在.plt里的get_state函数的ldr pc指令之后应该是跳到.text段的get_state函数里才对。但是trace.log文件里缺没有.text段的内容。

我看debug.log文件里有这样的内容:

查看代码,它好像是认为.text段已经超出get_state()符号范围了,就没有记录了

有办法把.text段里get_state()真正的内容记录到trace.log里吗?
我昨天试了试,结果debugserver崩了,有没有大佬解惑一下如何处理
yangyss
(yangyss)
2021 年9 月 17 日 11:02
29
从debug信息看,你进入了 so中,和当前模块 不在同一个模块里
默认调试 —only-tracing-self-module 是 true。这里有两种解决办法,看你自己习惯用哪种了
1,输入命令的时候,设置 -o false
2,直接到断点到那个 state函数里,然后按你之前的 trace 方案,对 state 函数单独trace
3 个赞
nu11
(null)
2021 年9 月 28 日 14:50
35
我也看到了,所以尝试自己写一个,写完来这分享个心得。
1 个赞
yangyss
(yangyss)
2021 年9 月 29 日 04:28
36
本质来说是可以的,不过我的方案,是基于 LLVM IR 的。
扔到ida里的话,那就要处理的是 ida 的 mirco code 好像…应该问题不大。
这不 @nu11 n总不就在折腾么
1 个赞
ubie777
(akcm)
2021 年10 月 8 日 04:21
37
楼主大哥,这是升级了python版本关系吗?(不确定有没有升级)刚开始还能用的
(lldb) command script import ~/lldb-trace-script/lldbTrace.py
ALSR : 0x0000000004804000
error: cannot add command
WT::The “trace” python command has been installed and is ready for use.
yangyss
(yangyss)
2021 年10 月 8 日 07:02
38
ubie777:
cannot add command
你的 脚本路径可能有问题,先确认下是不是全英文,以及相关的 改动。你可以从git上从新拽一哈
具体出错在:
debugger.HandleCommand(‘command script add -f lldbTrace.trace trace’)
debugger.HandleCommand(‘command script add -f lldbTrace.setDefaultPath setlogpath’)
debugger.HandleCommand(‘command script add -f lldbTrace.defaultPath logpath’)
print(‘WT::The “trace” python command has been installed and is ready for use.’)
ubie777
(akcm)
2021 年10 月 8 日 09:52
39
噢,我已经重新下载了也没改动 。
图片还在审核,路径也是全英文
yangyss
(yangyss)
2021 年10 月 8 日 21:55
41
没遇到过这种 debugger.HandleCommand(‘command script add -f lldbTrace.trace trace’) 出现bug的。
因为没法重现现场,所以我没法给你具体的修复意见。
你可以去 lldb 官网看看,以及对脚本做相关的调试看看… 或许能招到解决方案.