Instrukcja ARM wspomina, że:ARM backtrace Montaż PC przesunięcie
Podczas wykonywania PC nie zawiera adres instrukcji obecnie wykonującego. Adres aktualnie wykonywanej instrukcji to zazwyczaj PC-8 dla ARM lub PC-4 dla Thumb.
Czy odnosi się to również do wartości współczynnika wstecznego śledzenia dla wartości PC
?
Na przykład, jeśli mam następujący ślad (od Android urządzenia ARMv7 korzystając z instrukcji ARM):
libSomeLib.so!SomeClass::someMethod [someFile.cpp : 638 + 0x4]
r0 = 0x00000001 r1 = 0xffffffff r2 = 0x00000000 r3 = 0xd4fcd71c
r4 = 0xd39b9284 r5 = 0xd39b927c r6 = 0xd39b9278 r7 = 0xc7025520
r8 = 0xc5e1d7b0 r9 = 0xe01136a8 r10 = 0x00000012 r12 = 0xd39b9268
fp = 0xd39b92d4 sp = 0xd39b9268 lr = 0xd4ea1f24 pc = 0xd4ea1f24
...
0xd47cb000 - 0xd5079fff libSomeLib.so ???
należy szukać w instrukcji upaść w środku libSomeLib.so
0xd4ea1f24-0xd47cb000=0x006D6F24
lub 0xd4ea1f24-0xd47cb000-8=0x006D6F1C
?
Oczekuję, że komputer będzie już dla Ciebie dostosowany. Powinieneś przetestować go ze znaną wadą, aby się upewnić. – Jester