在ObjectiveC中与标签上的gdb决裂



在这个例子中,我可以在标签"gdbStatement:"上使用gdb中断吗代码:

        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;

我知道如何破解行号和函数。但找不到如何打破标签。

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

假设代码在一个方法中,似乎没有办法在方法的标签上指定断点,

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

有人可以合理地假设,您可以破坏该方法,在符号名称上指定一个函数断点,如"break_i_aClass__aMethod:label",但由于我还不理解的原因,这目前也不起作用。

尝试使用gdb 7.3和7.6。

最新更新