Неустранимая ошибка iPhone / iPad в коде C ++ не приводит к выводу в журнал - PullRequest
0 голосов
/ 07 января 2011

Я пытаюсь перейти с Objective-C на C ++ для аудио в моих программах для iPad, из-за нескольких сообщений, которые я слышал о селекторах Objective-C, иногда вызывающих сбой звука. Поэтому я начинаю использовать чистые файлы 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";

Я получаю следующий вывод:

установка env на ноль

После этого есть метод, называемый NULL, который, по-видимому, убивает приложение, но абсолютно ничего об этом не сообщается. Что мне нужно сделать, чтобы регистрировать полезную информацию, когда в моем коде C ++ есть ошибка?

Ответы [ 3 ]

1 голос
/ 07 января 2011

Есть несколько вещей, которые вы можете попробовать.

  1. Вы можете установить NSZombie на enabled.

  2. Возможно, вы можете связать свой файл с Foundation Framework и использовать NSLog для отладки сбоя.

  3. Кроме того, если вы компилируете устройство, вы можете проверить консоль устройства и журналы ошибок в Xcode Organizer.

alt text alt text

1 голос
/ 07 января 2011

Вы пытались использовать точки останова и отслеживать ход игры с помощью отладчика? Я думаю, что использование их определенно дало бы некоторый журнал !!

0 голосов
/ 07 января 2011

Консольное приложение Mac предоставляет отличную информацию о том, почему произошел мой сбой. Спасибо Моше за то, что он помог мне пройти большую часть пути, предложив посмотреть на консоль, если я запускаю приложение на устройстве.

...