我一直在看今天的iPhone应用程序生成的崩溃日志:iPhone崩溃日志中的内存地址是什么意思?
Thread 0 Crashed:
0 libobjc.A.dylib 0x3002d7da 0x3002b000 + 10202
1 UIKit 0x31ec4abc 0x31e4d000 + 490172
2 UIKit 0x31ebd214 0x31e4d000 + 459284
3 UIKit 0x31ebcfac 0x31e4d000 + 458668
谁能告诉我什么是十六进制的地址是什么意思? (内存地址,肯定..)
我知道如何symbolicate产生:
0 libobjc.A.dylib 0x000027da objc_msgSend + 18
1 UIKit 0x00077abc -[UINavigationController _startDeferredTransitionIfNeeded] + 176
2 UIKit 0x00070214 -[UINavigationController pushViewController:transition:forceImmediate:] + 600
3 UIKit 0x0006ffac -[UINavigationController pushViewController:animated:] + 28
和调试从那里崩溃,但我很好奇;如果你把
0x3002d7da 0x3002b000 + 10202
则:0x3002d7da = 0x3002b000 +(十进制)10202
那是什么意思到底是什么?
我应该补充我不是在寻找关于如何符号化的信息,thx!
编辑:什么也奇怪,我是说,如果你比较前,后symbolicated版本,然后代码,我写道:
9 memleaktest 0x00002ffe 0x1000 + 8190
becomes
9 memleaktest 0x00002ffe -[memleaktestViewController buttonOne] (memleaktestViewController.m:24)
是有道理的,但对于框架代码:
8 CoreFoundation 0x307fe52c 0x307f8000 + 25900
becomes
8 CoreFoundation 0x0000652c -[NSObject(NSObject) release] + 24
地址和偏移量已更改?为什么会这样?
如果通过“堆栈跟踪中的代码行”,你的意思是“指向哪个函数开始”,那么我猜它可能意味着什么。但是为什么内存地址会改变前/后符号? (看我的编辑到我的问题) – Brynjar 2010-10-04 11:50:50