gpt4 book ai didi

android - Android Studio 中的 lldb : select frame does not work

转载 作者:行者123 更新时间:2023-11-30 01:41:16 25 4
gpt4 key购买 nike

我在 Android Studio 1.5 中进行原生调试。问题是 lldb 查看了错误的帧(最底部),因此没有向我显示正确的寄存器值。

select frame

似乎没有任何作用:

(lldb) bt * thread #1: tid = 30637, 0x400e429e libc.sostrncpy, name = 'WHATEVER', stop reason = breakpoint 2.1
frame #0: 0x400e429e libc.so
strncpy * frame #1: 0x406ba1b0 libicuuc.so (lldb) frame info frame #1: 0x406ba1b0 libicuuc.so

(lldb) frame select 0
frame #0: 0x400e429e libc.so`strncpy
libc.so`strncpy:
-> 0x400e429e <+0>: push {r4, lr}
0x400e42a0 <+2>: cbz r2, 0x400e42c4 ; <+38>
0x400e42a2 <+4>: subs r1, #0x1
0x400e42a4 <+6>: mov r3, r0
(lldb) frame info
frame #1: 0x406ba1b0 libicuuc.so
(lldb) register read
General Purpose Registers:
r4 = 0x40773ed4
r5 = 0x407762a8
r6 = 0x00000000
r7 = 0x40745eb0
r8 = 0xbe9f2d30
r9 = 0xbe9f2b20
r10 = 0x400f8384 libc.so`__stack_chk_guard
r11 = 0x77205d00
sp = 0xbe9f2d30
lr = 0x406ba1b1
pc = 0x75cdbd38
cpsr = 0x200b0030
5 registers were unavailable.

有什么想法/建议吗?

最佳答案

听起来 Android Studio 会在每个命令后重置框架 - 可能是为了使其与 UI 显示的内容保持同步。您选择了第 0 帧,但随后应该显示第 0 帧信息的帧信息命令却显示第 1 帧。

如果您在 Android Studio UI 中选择了一些框架,然后在控制台中执行 frame info,它会显示您在 UI 中选择的框架吗?如果可行,那么 register read 也应该报告正确的帧寄存器,因此您现在可以使用它作为解决方法。

如果 Android Studio 有错误报告器,您可以提交有关此问题的错误。 lldb 支持保持 UI 和命令行同步,但 UI 必须采用它。

关于android - Android Studio 中的 lldb : select frame does not work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34479428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com