xcode – 如何通过OS X上的系统库进行调试?

xcode – 如何通过OS X上的系统库进行调试?,第1张

概述我正在调试一个调用系统库的 Cocoa应用程序.我为自己的代码获取调试符号,但不是系统库,这使我无法进一步调试.如何获取系统库的调试符号. 我正在使用gdb,在10.6.4(gcc 4.2)上针对10.5 SDK进行编译. 这是我希望获得符号的堆栈跟踪: (gdb) bt#0 0x93713e43 in CFQSortArray ()#1 0x936f4c49 in CFArraySort 我正在调试一个调用系统库的 Cocoa应用程序.我为自己的代码获取调试符号,但不是系统库,这使我无法进一步调试.如何获取系统库的调试符号.

我正在使用gdb,在10.6.4(gcc 4.2)上针对10.5 SDK进行编译.

这是我希望获得符号的堆栈跟踪:

(gdb) bt#0  0x93713e43 in CFQSortArray ()#1  0x936f4c49 in CFArraySortValues ()#2  0x958f0bc0 in colorSyncProfilecopyTagsignatures ()#3  0x9591d218 in CMMProfile::Usable ()#4  0x9591cb5d in DovalIDateProfile ()#5  0x9591cc75 in AppleCMMValIDateProfile ()#6  0x958f1e52 in colorSyncProfiLeverify ()#7  0x91b13b88 in valIDateProfile ()#8  0x91b13aed in CMSValIDateProfile ()#9  0x93b27f6c in CGCMSInterfaceValIDateProfile ()#10 0x93b27f4c in CGCMSUtilsValIDateProfile ()#11 0x93b27e4b in CGcolorSpaceCreateICCBased ()#12 0x93b27203 in create_generic_color_space ()#13 0x93b26f92 in CGcolorSpaceCreateWithIndex ()#14 0x90228ad5 in +[NScolorSpace specialcolorSpaceWithID:] ()#15 0x90228a0c in +[NScolorSpace genericRGBcolorSpace] ()#16 0x9022881e in -[NSBitmAPImageRep _bitmAPImageRep_setcolorSpacename:] ()#17 0x904f6e39 in -[NSBitmAPImageRep initWithBitmapDataPlanes:pixelsWIDe:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpacename:bitmapformat:bytesPerRow:bitsPerPixel:] ()#18 0x902282ae in -[NSBitmAPImageRep _initWithSharedBitmap:rect:] ()#19 0x90227efe in -[NSImage _addRepresentationWithSharedKitwindow:rect:] ()#20 0x90226d06 in +[NSImage _findSystemImagenamed:] ()#21 0x90226a48 in +[NSImage imagenamed:] ()#22 0x902268ea in -[NSCustomresource _loadImageWithname:] ()#23 0x9022681e in -[NSCustomresource loadImageWithname:] ()#24 0x90225d5f in -[NSCustomresource awakeAfterUsingCoder:] ()#25 0x915a2208 in _decodeObjectBinary ()#26 0x915a14e4 in _decodeObject ()#27 0x9022556f in -[NSMenuItem initWithCoder:] ()#28 0x915a21ec in _decodeObjectBinary ()#29 0x915a2ff8 in -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] ()#30 0x915a3665 in -[NSArray(NSArray) initWithCoder:] ()#31 0x915a21ec in _decodeObjectBinary ()#32 0x915a14e4 in _decodeObject ()#33 0x90229ff0 in -[NSMenu initWithCoder:] ()#34 0x915a21ec in _decodeObjectBinary ()#35 0x915a2ff8 in -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] ()#36 0x915a3665 in -[NSArray(NSArray) initWithCoder:] ()#37 0x915a21ec in _decodeObjectBinary ()#38 0x915a14e4 in _decodeObject ()#39 0x9021ff29 in -[NSIBObjectData initWithCoder:] ()#40 0x915a21ec in _decodeObjectBinary ()#41 0x915a14e4 in _decodeObject ()#42 0x9021f4a8 in loadNib ()#43 0x9021eb5b in +[NSBundle(NSNibLoading) _loadNibfile:nametable:withZone:ownerBundle:] ()#44 0x9021e811 in +[NSBundle(NSNibLoading) loadNibfile:externalnametable:withZone:] ()
解决方法 如本苹果技术说明中所述,您希望将DYLD_IMAGE_SUFFIX设置为_deBUG.

http://developer.apple.com/library/mac/#technotes/tn2004/tn2124.html

还有其他问题(在正确的系统上没有正确的版本)很难克服,所以我没有测试过.

总结

以上是内存溢出为你收集整理的xcode – 如何通过OS X上的系统库进行调试?全部内容,希望文章能够帮你解决xcode – 如何通过OS X上的系统库进行调试?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1040638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存