2010-10-20 7 views
0

J'essaie de comprendre ce que ces compensations sont dans une trace de la pile d'iphone:décalages de mémoire Comprendre dans la pile d'iphone traces

11 FOO       0x0005684a +[TTURLRequest requestWithURL:delegate:] + 42 
12 FOO       0x00056840 +[TTURLRequest requestWithURL:delegate:] + 32 

Quels sont les nombres hexadécimaux 0x0005684a et 0x00056840? Quels sont les chiffres +42 et +32?

Je m'attendais à ce que les nombres hexadécimaux correspondent aux décalages dans le binaire. Malheureusement, il ne semble pas avoir de correspondance:

$ nm build/AdHoc\ Release-iphoneos/FOO.app/FOO | grep 'requestWithURL' 
00056820 t +[TTURLRequest requestWithURL:delegate:] 
00056810 t +[TTURLRequest requestWithURL:delegate:] 

Répondre

1

Emplacements de mémoire. Décalages de/dans la structure.

+0

Emplacements de mémoire où le code est chargé? Alors que * devrait * avoir une correspondance avec les symboles dans la table des symboles binaires, non? – smtlaissezfaire

+0

@smtlaimerfaire: c'est le cas, '0x0005684a - 42 == 0x00056820' – Hasturkun

+0

Ah. Je vois - je ne peux pas soustraire en hex. Merci Hasturkun. – smtlaissezfaire

Questions connexes