1#include <stdio.h> 2#include <objc/Object.h> 3 4@interface Decode: Object 5{ 6} 7- multipleDef; 8- (const char *) myDescription; 9@end 10 11@implementation Decode 12 13- multipleDef 14{ 15 printf("method multipleDef\n"); 16 return self; 17} 18 19- (const char *) myDescription 20{ 21 return "Decode gdb test object"; 22} 23 24@end 25 26int 27multipleDef() 28{ 29 printf("function multipleDef\n"); 30 return 0; 31} 32 33int main (int argc, const char *argv[]) 34{ 35 id obj; 36 obj = [Decode new]; 37 multipleDef(); 38 [obj multipleDef]; 39 return 0; 40} 41 42const char *_NSPrintForDebugger(id object) 43{ 44 /* This is not really what _NSPrintForDebugger should do, but it 45 is a simple test if gdb can call this function */ 46 if (object && [object respondsTo: @selector(myDescription)]) 47 return [object myDescription]; 48 49 return NULL; 50} 51