2010-10-20 54 views
0

我试图了解这些偏移是在iPhone堆栈跟踪:理解记忆痕迹的偏移

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

什么是十六进制数字0x0005684a和0x00056840?什么是数字+42和+32?

我会期望十六进制数字匹配二进制中的偏移量。不幸的是,它似乎没有任何对应关系:

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

回答

1

内存位置。偏离/进入结构。

+0

代码加载位置的内存位置?因此*应该*与二进制符号表中的符号有对应关系,对吗? – smtlaissezfaire 2010-10-20 22:29:08

+0

@smtlaissezfaire:它呢,'0x0005684a - 42 == 0x00056820' – Hasturkun 2010-10-20 22:30:36

+0

啊。我看到 - 我不能在十六进制中减去。谢谢Hasturkun。 – smtlaissezfaire 2010-10-20 22:36:48