use*_*064 4 debugging gdb objective-c symbol-table
我有一个可执行文件,我正在使用gdb进行调试.这是我第一次使用gdb,请耐心等待.
我想在函数中设置断点,我知道使用类转储的函数的名称.现在它不会让我为该函数添加断点,因为它说没有符号表.我尝试添加符号表但它仍然抱怨没有加载符号表.
那么,无论如何我可以在这种方法中设置一个断点吗?这是一个客观的c方法,而不是c(如果这有所不同).我需要做的就是检查这个方法的论点.
在类转储中有一个-A选项可以打印函数的地址,例如
@interface FooObject : NSObject
{
}
- (void)y; // IMP=0x100000d54
@end
Run Code Online (Sandbox Code Playgroud)
有了这个,你可以使用地址设置一个断点:
(gdb) b *0x100000d54
Breakpoint 1 at 0x100000d54
Run Code Online (Sandbox Code Playgroud)
请注意,除非您已删除可执行文件,否则应始终可以使用方法的名称设置断点
(gdb) b -[FooObject y]
Breakpoint 2 at 0x100000d60
Run Code Online (Sandbox Code Playgroud)
(地址与后者跳过一些帧设置代码不同.)
| 归档时间: |
|
| 查看次数: |
2865 次 |
| 最近记录: |