Есть ли способ импортировать вывод из class-dump
в GDB?
Пример кода:
$ cat > test.m
#include <stdio.h>
#import <Foundation/Foundation.h>
@interface TestClass : NSObject
+ (int)randomNum;
@end
@implementation TestClass
+ (int)randomNum {
return 4; // chosen by fair dice roll.
// guaranteed to be random.
}
@end
int main(void) {
printf("num: %d\n", [TestClass randomNum]);
return 0;
}
^D
$ gcc test.m -lobjc -o test
$ ./test
num: 4
$ gdb test
...
(gdb) b +[TestClass randomNum]
Breakpoint 1 at 0x100000e5c
(gdb) ^D
$ strip test
$ gdb test
...
(gdb) b +[TestClass randomNum]
Function "+[TestClass randomNum]" not defined.
(gdb) ^D
$ class-dump -A test
...
@interface TestClass : NSObject
{
}
+ (int)randomNum; // IMP=0x0000000100000e50
@end
Я знаю, что теперь могу использовать b *0x0000000100000e50
в gdb
, но есть ли способ изменить таблицу символов GDB, чтобы он принял b +[TestClass randomNum]
?
Изменить: Было бы желательно, если бы он работал с GDB v6, а не только с GDB v7, так как GDB v6 - это последняя версия с патчами Apple.