2016-04-15 10 views
1

両方の整数、1つはNSUserDefaultsからintegerForKey:メソッドでロードされます。誰もこのような行動を見たことがありますか? 結果は明らかに2であるべきですか、それとも遅すぎますか?私は眠るべきですか? これははい、これはバグです....Xcodeの奇妙なデバッガの問題?

enter image description here

+0

'po'の代わりに' p'を使うとどうなりますか? 'po'は歴史的に" print object "を意味し、これらの変数や' sharingCampaignIterations%nag_every'という表現はオブジェクトではありません。 –

+0

これは同じ結果を返します。 – Ted

+1

興味深いことに、これは 'int n = 2;という単純なテストアプリケーションでも再現できます。 int m = 3; '、Xcode 7.3でlldbを使用します。あなたがバグを見つけたように見えます。 –

答えて

2

とても奇妙で、lldb.llvm.orgのbugzillaをして、それを提出してください。

注:は、引数の式を評価するための基本的な "expr"コマンドを実行し、結果の説明メソッドを呼び出します。

表現の仕方は、式が解釈するのに十分シンプルであれば、それを行い、そうでない場合は式をJITして、それをDebugeeに挿入して実行します。バグは通訳にありますが、明らかに符号付き整数のmodはできません。符号なし整数型は正しく動作し、JIT結果も正しくなります。たとえば、Kurtの例:

これは正しくありません。しかし、

式に関数呼び出しが含まれているため、解釈ができず、計算が正しく行われていなければなりませんでした。それはかなり重大な回避策ですが、バグを報告してください。