0

float 型の変数があります。Xcode は、指数表記 (つまり、3.37626e+07) を使用して表示します。ドット表記 (つまり、33762616.00) を使用して表示しようとしています。
lldb が提供するすべての形式を試しましたが、10 進数を使用して float を表示するものはありません。他の投稿を読み、WWDC2012 セッション 415 (ここで提案されているように) を見ましたが、森に近すぎて木を見ることができませんでした。どんな助けでも大歓迎です!

ここに画像の説明を入力

4

1 に答える 1

2

~/.lldbinittype のファイルにカスタム データ フォーマッタを追加してみてくださいfloat。例えば

Process 13204 stopped
* thread #1: tid = 0xb6f8d, 0x0000000100000f33 a.out`main + 35 at a.c:5, stop reason = step over
    #0: 0x0000000100000f33 a.out`main + 35 at a.c:5
   2    int main ()
   3    {
   4        float f = 33762616.0;
-> 5        printf ("%f\n", f);
   6    }
(lldb) p f
(float) $0 = 3.37626e+07
(lldb) type summ add -v -o "return '%f' % valobj.GetData().GetFloat(lldb.SBError(), 0)" float
(lldb) p f
(float) $1 = 33762616.000000
(lldb) 

lldb が提供するデフォルトのフォーマッタ セットではこれを行うことができませんが、Python にドロップすると、多くの柔軟性が得られます。

于 2013-03-13T02:44:31.017 に答える