在Objective C中标记为gdb

时间:2013-11-20 11:23:58

标签: objective-c gdb label breakpoints

我可以在标签“gdbStatement:”中使用gdb break在此示例中代码:

...

        op1 = op2 = op3 = op4 = nil;
        op1 = [ops firstObject];
        if(jj>1)op2 = [ops oai:1];
        if(jj>2)op3 = [ops oai:2];
        if(jj>3)op4 = [ops oai:3];

gdbStatement:
// Wertzuweisungen
        if([stmt isZuweisung]){
// ausser bei mutable Targets, die erweitert werden oder im Fehlerfall hier drin kein continue, weil am Ende s1 weiterverarbeitet wird;
            NSString *val1,*s1;
            double varVal=0;

...

我知道如何打破行号和功能。但是找不到如何打破标签。

1 个答案:

答案 0 :(得分:0)

FSF还是苹果gdb?以下内容适用于FSF gdb。

假设代码在方法中,似乎无法在方法中的标签上指定断点,

在标签上指定断点的语法是break函数:label 但是FSF gdb中的Objective-C linespec解析器没有解析这个,所以break - [aClass aMethod]:aLabel不起作用

有人可以合理地假设你可以破坏方法在符号名称上指定一个函数断点,比如'break _i_aClass__aMethod:label',但是由于我还不了解的原因,这当前不起作用。

尝试使用gdb 7.3和7.6。