[英]XCode debugger weird behavior
我有一个我试图调试的iPhone应用程序。
我的一个方法只在执行代码时才返回错误的值,在调试器中它很好。
int finalResponse = 0;
finalResponse = [data getInteger:@"final_response"];
然后在调试器中
p finalResponse
(int) $0 = 130450628
p [data getInteger:@"final_response"]
(int) $1 = 0
我期待0值,另一个是垃圾。 我不明白为什么它产生不同的结果取决于我如何执行该函数。
编辑:
getInteger返回一个int它使用一个底层的c库,它返回一个(const void *),就像这样
int* value = get_dictionary_value("final_response", dictionary);
int val = (int) *value;
return val;
[命名不好 - 不应该有get
前缀] getInteger:
方法是否可以执行任何操作,例如将索引推送到data
?
或者getInteger:
返回一个NSNumber?
getInteger:
是如何实现的?
只有那些代码,很难说。
当我使用发布版本进行调试时,有时会遇到奇怪的调试行为; 确保您使用正确的构建阶段进行调试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.