2011-01-07 6 views
0

私のiPadプログラミングでは、Objective-CからC++へのオーディオの移行を検討しています。 Cのセレクタでオーディオの不具合が発生することがあります。だから私は純粋なC + +ファイルを使用し始めている。iPhone/iPadのC++コードで致命的なエラーがログに出力されない

C++ファイルのいずれかで致命的なエラーが発生した場合、ログから何も出力されません。アプリはちょうどクラッシュします。

私はCでこれを行う場合++ファイルたとえば、:私は次の出力を得る

env = new ADSR(); 
    cout << "setting env to null\n"; 
    env = NULL; 
    env->setSustainLevel(1); 
    cout << "called function on non-initialized env\n"; 

:その後

をnullにENVを設定

を、ありますメソッドはNULLを呼び出し、明らかにアプリケーションを殺しますが、その効果については絶対に何も報告されません。私のC++コードにエラーがあるときに有用な情報を記録するには、何が必要ですか?

答えて

1

ブレークポイントを使用し、デバッガを使用してゲームフローをトレースしようとしましたか?私はこれらを使用すると確かにいくつかのログを与えるだろうと思う!

+0

私は、iPhone用のC++で完全に書かれたゲームのクラッシュログのデバッグに取り組んできました。トレースがない場合、どのようにデバッグすることができますか? – mysticboy59

1

試してみることができることがいくつかあります。

  1. NSZombieをenabledに設定できます。

  2. ファイルをFoundation Frameworkとリンクし、NSLogを使用してクラッシュをデバッグすることができます。

  3. また、デバイスにコンパイルすると、デバイスコンソールとXcodeのオーガナイザのエラーログを確認できます。

alt text alt text

+0

NSZombieEnabledはObjective-Cオブジェクトのみです。 –

+0

@Bavarious - 真。 – Moshe

+0

ああ、もちろん、コンソールです。メインのMacコンソールには、私のC++ファイル内の特定の行番号を含む、エラーのための美しいスタックトレースと私のアプリのためのクラッシュレポートがあります。 – morgancodes

0

たMACのコンソールアプリは私のクラッシュがなぜ起こったかに大きな情報を提供します。私がデバイス上でアプリを実行していた場合は、コンソールを見ることを提案することで、Mosheのおかげでほとんどの方法が私に届きました。

関連する問題