繁体   English   中英

GDB Objective-c调试(无符号表)

[英]GDB Objective-c debugging (no symbol table)

我有一个可执行文件,我正在使用gdb进行调试。 这是我第一次使用gdb,请耐心等待。

我想在函数中设置断点,我知道使用类转储的函数的名称。 现在它不会让我为该函数添加断点,因为它说没有符号表。 我尝试添加符号表但它仍然抱怨没有加载符号表。

那么,无论如何我可以在这种方法中设置一个断点吗? 这是一个客观的c方法,而不是c(如果这有所不同)。 我需要做的就是检查这个方法的论点。

在类转储中有一个-A选项可以打印函数的地址,例如

@interface FooObject : NSObject
{
}

- (void)y;  // IMP=0x100000d54

@end

有了这个,你可以使用地址设置一个断点:

(gdb) b *0x100000d54
Breakpoint 1 at 0x100000d54

请注意,除非您已删除可执行文件,否则应始终可以使用方法的名称设置断点

(gdb) b -[FooObject y]
Breakpoint 2 at 0x100000d60

(地址与后者跳过一些帧设置代码不同。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM